Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.053 c
2-1176980014
Gentos
2007-04-19 14:53
2007.05.13
TLOBlocator - > TPersistent


4-1166014068
dzuev
2006-12-13 15:47
2007.05.13
datamax и delphi.


2-1177444941
Олег Валерьевич
2007-04-25 00:02
2007.05.13
Автоматическое напоминание...


15-1176581986
GreM
2007-04-15 00:19
2007.05.13
Вопрос по XML


15-1175808226
ampo
2007-04-06 01:23
2007.05.13
Небольшая коллекция мануалов




   Наверх