Главная страница
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.03 c
2-1176964506
inoc
2007-04-19 10:35
2007.05.13
Процедура балансировки дерева


15-1176458015
Kostafey
2007-04-13 13:53
2007.05.13
Прочитал в разделе требования к системе.


15-1176624931
vasIZmax
2007-04-15 12:15
2007.05.13
Нормальный источник


2-1177054105
Steep
2007-04-20 11:28
2007.05.13
Юниты


2-1176463675
iviom
2007-04-13 15:27
2007.05.13
TDateTimePicker