Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: 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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.063 c
2-1159207386
ElvenArch
2006-09-25 22:03
2006.10.15
Перевод из Fox в InterBase


2-1159348029
Yaral
2006-09-27 13:07
2006.10.15
Получить значение из реестра


3-1155984409
Lexx_
2006-08-19 14:46
2006.10.15
Autoincrement + ADOCommand


1-1157549691
bnv123
2006-09-06 17:34
2006.10.15
DLL: функция VaComm.WriteText() вызывается при наличии MessageDlg


1-1157210797
Ragazor
2006-09-02 19:26
2006.10.15
Как передать из dll хранящиеся там frame-ы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский