Sobes.tech
Назад к вопросам
Senior
10

Что такое ключевые (key) колонки и INCLUDE колонки в индексе? Как правильно их использовать?

Компании, где спрашивали
Finstar Financial Group

Ответ от нейросети

sobes.tech AI

В индексах баз данных ключевые (key) колонки — это те столбцы, по которым строится сам индекс и которые участвуют в поиске и сортировке. Они определяют порядок и структуру индекса.

INCLUDE колонки — это дополнительные столбцы, которые не участвуют в ключе индекса, но включаются в индекс как «покрывающие» данные. Они позволяют выполнять запросы, не обращаясь к основной таблице, если все нужные столбцы есть в индексе.

Правильное использование:

  • Включайте в ключевые колонки те поля, по которым часто выполняются фильтры и сортировки.
  • Добавляйте в INCLUDE колонки те поля, которые нужны для выборки, но не влияют на поиск, чтобы избежать дополнительных обращений к таблице.

Пример в SQL Server:

CREATE INDEX IX_Orders_CustomerDate
ON Orders (CustomerID, OrderDate) -- ключевые колонки
INCLUDE (TotalAmount, Status); -- колонки для покрытия запроса

Такой индекс ускорит запросы с фильтрацией по CustomerID и OrderDate и выборкой TotalAmount и Status без обращения к таблице.