Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизПривет всем мастерам! Найти похожие ветки
← →
Fbist (2002-11-15 13:21) [0]Работаю с таблицами Парадокс через ADO в Windows 2000. База состоит из 2500 записей. Я пробегаю по всем записям и заполняю внутренние структурки. Но само чтение из базы осуществляется довольно долго. От 15 до 40 секунд. Можно ли как-то ускориться?
Чтение идёт так:
Table.First;
for i:=1 to Table.RecordCount do
begin
FillSctruc;
Table.Next;
end;
FillStruc просто кидает одно поле в листбокс (составляет список значений)
← →
stone (2002-11-15 13:26) [1]Table.First;
while not Table.eof do
begin
FillSctruc;
Table.Next;
end;
← →
Fbist (2002-11-15 13:42) [2]И что, это будет значительно быстрее?
← →
Fbist (2002-11-15 14:03) [3]Господа Мастера, ну если не знаете как ускорить, скажите хотя кто много работал с БД - это нормальное время чтения из БД? 2500 за 40 секунд???
← →
stone (2002-11-15 14:08) [4]
> Fbist © (15.11.02 13:42)
> И что, это будет значительно быстрее?
на счет скорости не знаю, но так правильнее, а 2500 записей за сорок секунд это медленно.
А почему бы тебе не выбрать это поле запросом, а его результат сохранить в листбокс. С другой стороны, зачем именно листбокс, почему не отобразить сразу в гриде.
← →
VAleksey (2002-11-15 14:10) [5]Отключи визуальные контролы. Будет явно быстрее. Но paradox ч/з ADO ... ИМХО сильно быстро не получится.
← →
OlegE (2002-11-15 14:11) [6]> Fbist © (15.11.02 13:42)
Для ADO - это нормально.
Только что попробовал - 5000 записей за 110 сек.
← →
Fbist (2002-11-15 14:34) [7]Спасибо за ответы!
Контролы у меня свои, так как в БД лежат объекты, которые потом надо инстанцировать. А для просмотра объектов специальные контролы. В общем свои заморочки.
Интересно, можно ли как-нибудь закатать всю таблицу в поток в оперативке, и чтоб АДО с ним оттуда работал?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c