Главная страница
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.037 c
15-1176147431
palva
2007-04-09 23:37
2007.05.13
Газета Уошингтон пост интересно прикололась


2-1176964506
inoc
2007-04-19 10:35
2007.05.13
Процедура балансировки дерева


2-1177508495
Key999
2007-04-25 17:41
2007.05.13
Как вывести время техпроцесса в чч:мм:сс, если оно превышает 24 ч


15-1176690822
Slider007
2007-04-16 06:33
2007.05.13
С днем рождения ! 14 апреля


3-1172565807
Megabyte
2007-02-27 11:43
2007.05.13
Получение разницы между датой/временем