Nick |
Отправлено: 02.07.2003, 07:51 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Есть ли возможность сделать паузу внутри процедуры?
Процедура создания автоматической заявки выполняется в течении
1-4 минут.
В это время другие клиенты IBServer (FireBird 2.0.908)
культурно отдыхают...
Можно ли сделать так чтоб процедура останавливалать и давала другим поработать некоторое время. Скорость выполнения конечно уменьшится, но мы привыкли — Access выполняет эту задачу 40 минут.
|
|
Admin |
Отправлено: 03.07.2003, 21:47 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
А почему это вдруг в многопользовательской базе данных
(клиент-серверной) остальные работающие отдыхают ?
Что-то неправильно в логике процедуры, или
очень слабый сервер на котром стоит база данных,
или низкая скорость работы по сети (10 а не 100) ???
А можно сделать или нет — Вам виднее что процедура делает -
код же ее Вы не привели.
Если процедура длинная, разбейте ее по логике на несколько
отдельных процедур, и вызывайте их из программы по очереди,
если нужно, сделав между вызовами задержку.
Кроме того, если все это выполняется в контексте одной большой
транзакции (например идет запрос — обновление очень большого
количества записей), например 10000, то разбейте это на 2
транзакции по 5000 записей.
|
|
Nick |
Отправлено: 04.07.2003, 14:51 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
Спасибо я уже все переделал переделал |
|