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

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

Почему этот код ну очень медленно выполняется? [D5, Paradox]


Страницы:   1 2

Борис ©   (2002-04-17 12:14:00) 

Есть код обновления полей в таблице:

while not form1.tsklad.eof do
begin
form1.tsklad.edit;
form1.tsklad.FieldByName("P1").asinteger:=0;
form1.tsklad.FieldByName("P2").asinteger:=0;
form1.tsklad.next;
end;

tsklad - TQuery с запросом select * from sklad.db

В таблице 255 полей и 400 записей.

На машине Cel 500 выполняется 9 секунд, на 200 пне - до 1 минуты. Почему???


Борис   (2002-04-17 12:39:00) [21]

> sniknik
Вначале надо выполнить select * from sklad.db

А потом написать Update, выполнить и вернуть select ?

> gek
А где его отключить?


Alexandr   (2002-04-17 12:35:00) [22]

представь себе, необязательно


gek   (2002-04-17 12:34:00) [23]

А почему так много полей - 255 ?
Надо бы это дело разбить.


Alexandr   (2002-04-17 12:34:00) [24]

представь себе, необязательно


Delirium   (2002-04-17 12:26:00) [25]

А разве Post уже делать не обязательно?

form1.tsklad.edit;
form1.tsklad.FieldByName("P1").asinteger:=0;
form1.tsklad.FieldByName("P2").asinteger:=0;
form1.tsklad.post;
form1.tsklad.next;


sniknik   (2002-04-17 12:26:00) [26]

если в Query написать update вместо попозиционной записи то на все уйдет меньше сек. (даже в парадоксе)
если обращатся к полю по номеру Fields[0] вместо FieldByName время сократится до 5 сек.


gek   (2002-04-17 12:20:00) [27]

Попробуй использовать
DisableControls


arhelon   (2002-04-17 12:17:00) [28]

Потому как так оно навено и есть :((
Уходи с парадокса


Страницы:   1 2

Наверх

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