Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

Работа с потоками   Найти похожие ветки 

 
webpauk   (2007-04-24 11:20) [0]

type
 TDoc = class(TObject)
 private
   fID: Integer;
   fOwner: TObject;
   fCount: Integer;
   fArr: array of TObject;
   fIDDocType: Integer;

   procedure Activate;
 protected
   constructor Create(Owner: TObject; IDValue: Integer);
 end;

procedure TDoc.Activate;
var
 I: Integer;
 Log: Boolean;
begin
 Query.SQL.Text:="Select ...";
 Query.Active:=True;

 fIDDocType:=Query.FieldByName("IDDocType").AsInteger;

 Query.SQL.Text:="Select ...";
 Query.Active:=True;

 while not Eof do
 begin
   SetLength(fArr, fCount+1);
   fArr[fCount]:=TDoc.Create(Self, Query.FieldByName("ID").AsInteger);
   Inc(fCount);

   Next;
 end;

 for I := Low(fArr) to High(fArr) do
 begin
   TDoc(fArr[I]).Activate;
 end;
end;


в процедуре Activate, как видно производится "Query.select" - и очень много. Занимает много времени.
Может через потоки это будет быстрее?
Если не в лом, подскажите как.


 
Сергей М. ©   (2007-04-24 11:28) [1]


> Может через потоки это будет быстрее?


Нет, не будет.
Даже не обольщайся.


 
clickmaker ©   (2007-04-24 11:34) [2]


> Может через потоки это будет быстрее?

быстрее не будет, но можно открыть 1 документ, и пока юзер балдеет от увиденного, под ковром докачивать остальные (в потоке)


 
Сергей М. ©   (2007-04-24 11:51) [3]


> Занимает много времени


В первую очередь следует обратить внимание на оптимальность самого запроса и на оптимальность структуры данных в БД, к которым в запросе происходит обращение. И только после этого обращать взор к потокам.



Страницы: 1 вся ветка

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
2-1177506016
SerMaxx
2007-04-25 17:00
2007.05.13
Вопрос по функциям


2-1177342420
ppcumax
2007-04-23 19:33
2007.05.13
RichEdit


2-1177506562
I-New
2007-04-25 17:09
2007.05.13
Вопрос про TlistBox


2-1176895225
Ксандр
2007-04-18 15:20
2007.05.13
хеш функция


2-1177452950
marathoner
2007-04-25 02:15
2007.05.13
DBGrid - показать данные