2000 вставок близко к нулю.Тем не менее, было бы гораздо лучше, если бы вы могли вставить их сразу , используя один оператор INSERT
, чем делать это в цикле.
Вообще говоря, выполните коммит, как только высделано с транзакцией.Скорее всего, оно не заканчивается на каждом шагу цикла, не так ли?Кроме того, фиксация в цикле (часто) приводит к Снимку ORA-01555 слишком старая ошибка .
Сказать, что "ваш скрипт отправляет много запросов" - что за них?SELECT
s ничем не заблокированы.INSERT
также не заблокированы (я полагаю, вы не блокируете всю таблицу, не так ли)?Если вы пытаетесь обновить строки, заблокированные другими пользователями, это, очевидно, не будет работать, пока они не будут освобождены.Вопрос в том, почему эти запросы ждут полдня?Пахнет как плохое управление .