Назад к вопросам
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 без обращения к таблице.