Ускорение update

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
evgem
Постоянный гость
Сообщения: 69
Зарегистрирован: 16 фев 2006, 18:48

Ускорение update

Сообщение evgem »

С помощью .ard отчёта читаю файл .dbf и по нему делаю изменения в таблицах. При выполнении выдаются последовательно сообщения:"формирование отчёта" и "осуществляю модификацию данных". Чтобы не создавался отчёт и ускорилась работа(много изменений), поставил опцию:
.form 'akt'
.f 'NUL'
Как написано в документации - при исполнении файл отчёта не создаётся. Тем не менее оба сообщения выдаются и ускорения в работе нет. Есть ли ещё какие способы для ускорения работы?
coolibin
Постоянный обитатель
Сообщения: 151
Зарегистрирован: 29 мар 2005, 17:49

Сообщение coolibin »

Способы наверняка есть, однако не .f 'NUL'
Вам бы ответили, если бы вы привели хотя бы исходники - что там за модификации
evgem
Постоянный гость
Сообщения: 69
Зарегистрирован: 16 фев 2006, 18:48

Сообщение evgem »

Текст:
UPDATE katos WHERE
katos.innum = invnom SET katos.nameos:= naimen, katos.kol:= 1;
UPDATE spkatos WHERE ((spkatos.ckatos == katos.nrec))
and katos.innum = invnom SET spkatos.stoim:= perstm, spkatos.sumizn:= izn;
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

изучатйе доку - вообще все криво, индексы то где?
.create view v
var invnom :string ;
as select katos.nrec
where ((
15 == katos.tidk and invnom== katos.innum
and katos.nrec == spkatos.ckatos
and ??????? == spkatos.cnastros )) ;
....
if v.getfirs katos=0
v.UPDATE current katos SET katos.nameos:= naimen, katos.kol:= 1;
if v.getfirst spkatos=0
v.UPDATE current spkatos SET spkatos.stoim:= perstm, spkatos.sumizn:= izn;
evgem
Постоянный гость
Сообщения: 69
Зарегистрирован: 16 фев 2006, 18:48

Сообщение evgem »

У меня ,наверное, другая документация: нет определения индекса, мемо поля или я не там смотрю? И где можно посмотреть, как правильно писать запросы? Примеров нет! Документация от 12.2004.
evgem
Постоянный гость
Сообщения: 69
Зарегистрирован: 16 фев 2006, 18:48

Сообщение evgem »

UPDATE, хоть и медленно, но работает. А ,если вместо UPDATE ставлю SELECT, то выдаётся ошибка компилятора. А задача таже: по каждой записи из файла .dbf найти запись в katos и spkatos. Может есть ещё какой способ решить эту проблему?
Ответить