Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Индекс на внешний ключ  [new]
Ora-junior
Guest
Такая ситуация:
В таблице есть альтернативный уникальный ключ,который имеет
ведущим столбцом col1.
col1 так же является внешним ключом.

Так как для уникального ключа создается индекс,то как я понимаю для col1 специально отдельный индекс можно не создавать,так как он уже входит в состав индекса уникального ключа как ведущий столбец
(индекс по col1 нужен для выполнения оптимального запроса)

Вопрос:
Индекс отдельно созадвать не надо?
29 апр 06, 15:39    [2616820]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
не надо

fk сможет использовать любой существующий индекс, в префиксе которого стоит необходимая колонка
29 апр 06, 15:44    [2616822]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8553
Ora-junior

Индекс отдельно созадвать не надо?


во времена (и даже не смутные) Oracle 9i, 10g стало актуальным вообще
не создавать какой-либо индекс по внешнему ключу.
29 апр 06, 23:01    [2617212]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116301
grexhide
Ora-junior

Индекс отдельно созадвать не надо?


во времена (и даже не смутные) Oracle 9i, 10g стало актуальным вообще
не создавать какой-либо индекс по внешнему ключу.


У кого стало актуальным ?

Oracle® Database Concepts
10g Release 2 (10.2)
Concurrency Control, Indexes, and Foreign Keys


You almost always index foreign keys


Также можно погуглить
30 апр 06, 14:48    [2617684]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
Q u a d r o
Member

Откуда: Canada
Сообщений: 1987
Справедливости ради, надо сказать, что ситуация с блокированием child-таблиц при delete/update первичного ключа в 9i/10G стала гораздо лучше (вместо продолжительности всей транзакции, таблица блокируется на гораздо более короткий период).

Поэтому...

если delete первичного ключа, а тем более update, происходят не часто
и
нет on delete cascade / set null

тогда необходимость индекса на fk определяется так же, как и необходимость индекса на любой другой колонке => если он необходим в запросах.
30 апр 06, 15:22    [2617711]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
Банан в рассоле
Guest
dmidek
Также можно погуглить

Еще лучше сходить на Металинк. Начать можно, например, с 223303.1
30 апр 06, 15:42    [2617734]     Ответить | Цитировать Сообщить модератору
 Re: Индекс на внешний ключ  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
2 dmidek:

And in some cases foreign key can hurt.

SY.
1 май 06, 01:39    [2618223]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить