Подтвердить что ты не робот

Когда использовать составные индексы?

Каковы общие правила использования составных индексов? Когда вы должны использовать их, и когда вам следует избегать их?

4b9b3361

Ответ 1

Запрос, который выбирает только несколько полей, может полностью работать с индексом. Например, если у вас есть индекс (OrderId), для этого запроса потребуется поиск в таблице:

select Status from Orders where OrderId = 42

Но если вы добавите составной индекс в (OrderId, Status), то он может получить всю необходимую информацию из индекса.

Сортировка по нескольким столбцам может извлечь выгоду из составного индекса. Например, индекс в (LastName, FirstName) принесет пользу этому запросу:

select * from Orders order by LastName, FirsName

Иногда у вас есть уникальный constrant для нескольких столбцов. Скажем, например, что вы перезапускаете номера заказов каждый день. Тогда OrderNumber не уникален, но (OrderNumber, OrderDayOfYear). Вы можете применить это с уникальным составным индексом.

Я уверен, что для составного индекса есть много других применений, просто перечисляя несколько примеров.

Ответ 2

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

Этот article предоставляет некоторую действительно хорошую информацию.