Должен ли я отключить или удалить индексы при выполнении большого объема вставки в Oracle? - PullRequest
2 голосов
/ 25 января 2012

Я выполняю большой объем инструкции вставки в выбор в Oracle, и у меня заканчивается пространство для отмены (ORA-30036: невозможно расширить сегмент на 8 в табличном пространстве отмены 'UNDOTBS1').

Общий консенсус, по-видимому, заключается в том, чтобы удалить индексы в целевой таблице и затем воссоздать их после завершения вставки.

Хорошо ли просто отключить индексы / ограничения в таблице?Чем он отличается от удаления индексов / ограничений?

1 Ответ

1 голос
/ 25 января 2012

Удаление индекса должно быть быстрее для загрузки. Если вас не интересует возможность восстановления таблицы, вы также можете отключить ведение журнала во время вставки в таблицу, чтобы она не вызывала отмены. Опасность заключается в том, что если администратору БД потребуется восстановить базу данных, вы увидите ошибки коррупции в таблице. В зависимости от использования таблицы / базы данных это может быть хорошо. Я бы перестроил индекс после загрузки, чтобы убедиться, что все индексировано после загрузки данных, поэтому я не верю, что вы что-то выиграете от его отключения.

...