Re: Should we use Single Index in case we use Composite index?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.10.23 12:00
Оценка: 3 (1)
Здравствуйте, Aleksei_Lekomtsev, Вы писали:

A_L>Если я правильно понял, индекс на column1 отдельно создавать не нужно, так как в случае select c where clause/join with column1 будет использоваться композитный индекс(так как это определеяется порядком колонок на которые создали композитный индекс),

Верно

A_L>а в случае select c where clause/join with column2, column3 композитный индекс уже использовать не получится. Т.е нужно создавать 3 индекса — композитный, отдельно на column2 and column3?

Тоже верно.

Индексы (древовидные) это просто заранее отсортированные ключи, отсортированы они в том порядке как указаны в самом индексе. База делает условно бинарный поиск по этому "массиву". Если вы отсортировали по (column1, column2), то для поиска по column1 этот индекс может использоваться. А для поиска по column2 — нет.

Иногда моет быть полезно сделать отдельный индекс по column1 чтобы уменьшить его объем, но это очень редкий кейс.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.