Включить ограничение - влияние Peformance - PullRequest
0 голосов
/ 15 ноября 2018

Приведенный ниже оператор потребляет огромное количество времени для таблицы, содержащей 70 миллионов записей.

ALTER TABLE <table-name>  ENABLE CONSTRAINT <constraint-name>

Сканирует ли таблица все строки при включении ограничения.

Даже если ограничение полученовключен, процесс просто завис на более чем 5 часов.

Любые идеи о том, как это можно оптимизировать

1 Ответ

0 голосов
/ 16 ноября 2018

Как уже говорили, в зависимости от типа ограничения есть возможность пропустить проверку существующих данных с помощью команды ALTER TABLE ENABLE NOVALIDATE CONSTRAINT.И проверьте эти данные с помощью какой-либо дополнительной процедуры или запроса.

Документацию об этом можно найти здесь https://docs.oracle.com/cd/B28359_01/server.111/b28310/general005.htm#ADMIN11546

...