Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

access медленно работает? [D5, access]


Страницы:   1 2

Донской ©   (2006-01-23 15:44:00) 

День добрый!  Ух, давно я здесь не появлялся....
Вот код

k:=0;
        w:=gettickcount;
        first;
        while not eof do
        begin
           k:=k+1;
           edit;
           SetCurrImpulsesRNumTotalImp.asinteger:=k;
           post;
           next;
        end;
        showmessage(floattostr((gettickcount-w)/1000));


Обращение идет к TADODataSet. Количество записей - 107.
Почему сообщение показывает, что цикл выполнялся больше 30 секунд?
Провел наблюдение.
В таблице есть поля blob. Особенные тормоза наблюдаются с теми записями, где эти поля заполнены.


Anatoly Podgoretsky   (2006-01-23 17:01:00) [21]

Где текст запроса?


Донской   (2006-01-23 17:00:00) [22]

> Johnmen ©  
SetCurrImpulsesRNumTotalImp из tadodataset

> atruhin ©
> Не используй ADOTable, см. ADODataset


я его и использую

> sniknik ©
disablecontrols и enablecontrols я использую, просто не написал в примере.

Вот полный код

var SetCurrImpulses : tadodataset;
with SetCurrImpulses do
     begin
        DisableControls;
        if isempty then
           exit;
        k:=0;
        w:=gettickcount;
        first;
        while not eof do
        begin
           k:=k+1;
           edit;
           findfield('RNumTotalImp').asinteger:=k;
           post;
           next;
        end;
        showmessage(floattostr((gettickcount-w)/1000));
        enablecontrols;
     end;


sniknik   (2006-01-23 16:45:00) [23]

DisableControls в конце, после цикла EnableControls.

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


atruhin   (2006-01-23 16:17:00) [24]

Не используй ADOTable, см. ADODataset


Johnmen   (2006-01-23 16:10:00) [25]

>Запроса как такового нет!

Как это нет????? Откуда же поле SetCurrImpulsesRNumTotalImp?


Донской   (2006-01-23 15:57:00) [26]

Запроса как такового нет!
я просто в цикле обновляю поля - нумерация записей (нужна для кое-чего)

while not eof do
begin
  edit
  SetCurrImpulsesRNumTotalImp.asinteger:=k;
  post
  next
end

и все!


Плохиш   (2006-01-23 15:48:00) [27]

Не включай blob-поля в запрос.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо