|
|
|
Индексы на внешние ключи
|
|||
|---|---|---|---|
|
#18+
1. Создание индексов на внешние ключи ускоряет выполнение запросов. 2. Создание индексов на поля, содержащие мало значений (3-4 шт), замедляет выполнение запросов. 3. Создание индексов на большое количество полей в таблице замедляет запросы и оперции по модификации данных. Вопросы по оптимизации: 1. Нужно ли создавать индекс на внешний ключ, который содержит мало значений (3-4 шт)? 2. Нужно ли содавать индексы на поля таблицы, которая разбивает связь "много ко многим", т.е. состоит из 3-х полей: идентификатора и двух внешних ключей? Нужно ли создавать индексы на эти ключи? 3. Если в таблице 30 полей и 8 из них - внешние ключи, правильно ли создавать индексы на все эти ключи (при том, что они содержат много значений)? Будет ли от этого польза в отношении оптимизации? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 13:48 |
|
||
|
Индексы на внешние ключи
|
|||
|---|---|---|---|
|
#18+
Pane1. Создание индексов на внешние ключи ускоряет выполнение запросов. 2. Создание индексов на поля, содержащие мало значений (3-4 шт), замедляет выполнение запросов. 3. Создание индексов на большое количество полей в таблице замедляет запросы и оперции по модификации данных. Все это зависит от конкретной ситуации. Вполне может быть, что все это ^^^ не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 13:52 |
|
||
|
Индексы на внешние ключи
|
|||
|---|---|---|---|
|
#18+
Многое зависит от используемой СУБД вот что по этому поводу пишет Том Кайт (для Oracle) Не проиндексированные внешние ключи являются, как правило, наиболее частой причиной возникновения взаимных блокировок, поскольку изменение в главной таблице или удаление записи из главной таблицы приводит в этом случае к блокированию всей подчиненной таблицы... .... Итак, когда не нужно индексировать внешний ключ? Если выполнены следующие условия: • данные из главной таблицы не удаляются; • значение первичного/уникального ключа главной таблицы не изменяется ни намеренно, ни случайно (используемым инструментальным средством); • не выполняется соединение от главной таблицы к подчиненной, т.е. столбцы внешнего ключа не обеспечивают важный способ доступа к подчиненной таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 15:07 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1544073]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 431ms |

| 0 / 0 |
