Что такое покрывающий индекс (INCLUDE в индексах)?
Ответ от нейросети
sobes.tech AI
Покрывающий индекс (covering index) — это индекс, который содержит все колонки, необходимые для выполнения конкретного запроса, благодаря чему СУБД может получить все данные из индекса, не обращаясь к основной таблице. В SQL Server и некоторых других СУБД для этого используется ключевое слово INCLUDE, позволяющее добавить в индекс дополнительные колонки, которые не участвуют в ключе индекса, но хранятся в структуре индекса.
Например, если у вас есть индекс по колонке UserId, а в запросе вы выбираете UserId и UserName, то можно создать индекс с ключом UserId и добавить UserName через INCLUDE. Это ускорит запрос, так как не потребуется дополнительное чтение из таблицы.
Пример создания индекса с INCLUDE в T-SQL:
CREATE INDEX IX_Users_UserId ON Users(UserId) INCLUDE (UserName);
Таким образом, покрывающий индекс уменьшает количество обращений к данным и повышает производительность запросов, особенно при выборках с фильтрацией и проекцией по небольшому набору колонок.