Вниз
Скачать: CL | DM;

TADODataSet.Next. Почему так медленно?   Найти похожие ветки 

 
Bless ©   (2006-08-15 12:54) [0]

Сабж собственно.
Есть два фрагмента
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
i:=0;
with q.Recordset do begin
   MoveFirst;
   while not EOF do begin
    MoveNext;
     inc(i);
   end;
 end;
 showMessage(IntToStr(i));
end;

и


procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
i:=0;
 q.First;
 while not q.Eof do begin
   q.Next;
   inc(i);
 end;
 showMessage(IntToStr(i));
end;


q - TADODataSet - простой селекс из одной таблицы с
почти 30000 тыс. записей.
DB-Aware контролов на форме нет.

Время в тиках секунд не засекал.
Но пока выполнялся первый - я досчитал до одного,
пока второй - до двадцати четырех.
Почему такая огромная разница?
Ее можно сократить?


 
sniknik ©   (2006-08-15 13:17) [1]

> DB-Aware контролов на форме нет.
неважно, DisableControls все одно сделай.


 
ORMADA ©   (2006-08-15 13:20) [2]

индексы ещё прикрути..
может быстрее будет
да и тащить 30,000 записей на клиента ни к чему! всё равно никто стока сразу не просмотрит! а на сервере обработка 30,000 (даже с тормозными курсорами)- игрушки.


 
sniknik ©   (2006-08-15 13:24) [3]

индексы не причем, это же в памяти рекордсет на клиенте (я его могу и не с бабы получать а например с файла, или по ходу программы его сделать/заполнить...)


 
Ega23 ©   (2006-08-15 13:24) [4]


> sniknik ©   (15.08.06 13:24) [3]


Хорошая у тебя опечатка...   :о)


 
sniknik ©   (2006-08-15 13:27) [5]

> Хорошая у тебя опечатка...   :о)
;о))))))) да, оттуда я еще данных не получал.... :)


 
Bless ©   (2006-08-15 13:56) [6]


> sniknik ©   (15.08.06 13:17) [1]
>
> > DB-Aware контролов на форме нет.
> неважно, DisableControls все одно сделай.


С "посчитал до двадцати четырех" сократилось до "посчитал до двух".
Блин, я знал конечно, что DisableControls - это полезно, но не думал, что аж настолько!


 
Ega23 ©   (2006-08-15 13:59) [7]


> Блин, я знал конечно, что DisableControls - это полезно,
>  но не думал, что аж настолько!
>


А ты его реализацию смотрел?


 
Bless ©   (2006-08-15 14:06) [8]


> Ega23 ©   (15.08.06 13:59) [7]
> А ты его реализацию смотрел?


Нет. А что?


 
Ega23 ©   (2006-08-15 14:16) [9]

А посмотри. Много интересного узнаешь.



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

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



Память: 0.47 MB
Время: 0.034 c
15-1159206509
KingLion
2006-09-25 21:48
2006.10.15
MS FrameWork 1.1 SDK


15-1158963826
Axis_of_Evil
2006-09-23 02:23
2006.10.15
а вы говорили, медвед не вырвется за пределы тырнета


15-1159045854
Ketmar
2006-09-24 01:10
2006.10.15
устал...


1-1157525175
lessard
2006-09-06 10:46
2006.10.15
Как быстро скопировать 500 маленьких файлов


15-1158906102
den_777
2006-09-22 10:21
2006.10.15
Где лучше(удобнее,быстрее) купить программные продукты.




   Наверх