Показать сообщение отдельно
Старый 13.09.2006, 09:35   #1  
Paul_ST is offline
Paul_ST
Участник
 
144 / 11 (1) +
Регистрация: 26.11.2003
Адрес: Екатеринбург
Длительное создание складских журналов
Стоит задача программного создания складских журналов. Предполагается создать 200 журналов по 1000 строк в каждом. При этом проставляем ссылки между складскими проводками: порождёнными создаваемой строкой журнала и соответствующей строкой заказа. Другими словами у двух выбираемых по InventTransId записей таблицы InventTRans записываем значение в поле InventRefTransId.

Проблема в том, что каждый из этих двух update'ов выполняется порядка 0.8 секунды, что весьма негативно сказывается на общем времени работы (приводит порядка к 40 часам работы всей процедуры). При этом пробовал select'ить InventTrans как с помощью findTransId(), так и просто select forupdate и с index и с index hint. На времени работы это не сказывается. doupdate() вместо update() тоже не помогает.

Такое ощущение, что прооптимизировать данный запрос не возможно. Хотелось бы услышать мнения - можно ли ускорить описанное создание журналов. Что можно посоветовать в данной ситуации?

Естественный вывод конечно же напрашивается - сначала создать журналы, потом проставлять ссылки.

Спасибо заранее!
__________________
Paul_ST