Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Вниз

загрузка приложения   Найти похожие ветки 

 
reticon   (2003-03-14 00:21) [0]

Уважаемые мастера!!!
Имеется следующий код:

procedure TForm1.FormCreate(Sender: TObject);
var
n1,n2,n3: integer;
s1,s2,s3: string;
begin
n1:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n1);
s1:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

n2:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n2);
s2:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

n3:=Random(Form1.ADOTable1.RecordCount);
Form1.ADOTable1.MoveBy(n3);
s3:=Form1.ADOTable1.FieldByName("field1").AsString + #32 +
Form1.ADOTable1.FieldByName("field2").AsString + #32 +
Form1.ADOTable1.FieldByName("field3").AsString;

end;


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

P.S. файл БД - dBASE, содержит 70000 записей


 
Anatoly Podgoretsky   (2003-03-14 09:26) [1]

Так оно наверно перечитывает все записи последовательно в зависимости от MOVEBY
рещение сделать поле, пронумеровать, на него индекс и пермещаться по индексу, будет чрезвычайно быстро
И еще есть смысл отказаться от АДО в пользу БДЕ, все равно используется БДЕ (C:\WINDOWS\SYSTEM\MSX BDE40.DLL) через промежуточное звено в виде АДО


 
NickBat   (2003-03-14 11:51) [2]

Проше сначала определить три переменные n1, n2, n3. А потом сделать запрос вида:
select field1, field2, field3 from mytable where id in (n1,n2,n3)



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

Форум: "Базы";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.012 c
3-6346
Денис
2003-03-12 22:29
2003.04.03
Кто на чем стал бы писать?


14-6753
PrettyFly
2003-03-15 13:17
2003.04.03
Help в Delphi


14-6740
Efes
2003-03-16 14:41
2003.04.03
Управление устройствами через порты.


14-6681
Дмитрий К.К.
2003-03-18 06:17
2003.04.03
Именинники 18 марта


1-6574
Alex-21
2003-03-20 21:29
2003.04.03
TPopupMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский