У нас есть пакетный процесс, который читает базовые таблицы и выполняет некоторую агрегацию, а затем обновляет таблицы с измененным флагом.
У нас есть оператор обновления, который обновляет около 3 миллионов строк. Как часть бизнес-требования, нам нужно иметь блокировку на уровне таблицы для обновляемой таблицы.
UPDATE TABLE1 t1 SET PARAMETER1=(SELECT p1 from TABLE2 t2 where t1.ROW_ID=ROWIDTOCHAR(t2.ROW_ID)
Сегодня мы сделали следующее замечание: оператор обновления с блокировкой на уровне таблицы занимает 35 минут, а без блокировки на уровне таблицы - 20 минут.
Я не могу установить это наблюдение. Пожалуйста, помогите!
Ура,
Dwarak