Создает ли Oracle автоматически вторичный индекс для столбцов FOREIGN KEY? - PullRequest
19 голосов
/ 13 февраля 2012

Я сейчас работаю над Oracle.У меня есть несколько таблиц, для которых я определил ограничения FOREIGN KEY.Я уже прочитал этот SQL Server -ориентированный и этот MySQL -ориентированный вопрос, но я не смог найти ни одного в Oracle.

Так что вопрос всегда один и тот же: вЧтобы оптимизировать производительность запросов, для тех столбцов, для которых я создаю ограничение FOREIGN KEY, нужно ли также создавать явный вторичный индекс?Разве Oracle автоматически не создает индекс для столбцов FOREIGN KEYed для повышения производительности во время JOIN-соединений?

Обычно я выполняю запросы, в которых предложение WHERE сравнивается с этими столбцами.

1 Ответ

20 голосов
/ 13 февраля 2012

Нет, Oracle не создает автоматически индексы для столбцов с внешним ключом, хотя в 99% случаев вам, вероятно, следует это делать.Помимо помощи в запросах, индекс также повышает производительность операторов удаления в родительской таблице.

...