![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему этот код ну очень медленно выполняется? [D5, Paradox]
Борис © (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]Потому как так оно навено и есть :((
Уходи с парадокса