Привет эксперты по SQL Server Engine;пожалуйста, поделитесь с нами немного своей проницательности ...
Насколько я понимаю, столбцы INCLUDE в некластеризованном индексе позволяют сохранять дополнительные неключевые данные на страницах индекса.
Мне хорошо известно о преимуществах производительности, которые кластерный индекс имеет по сравнению с некластеризованным индексом, просто из-за того, что движок должен выполнить поиск на 1 шаг меньше, чтобы получить данные на диске.
Однако, поскольку столбцы INCLUDE находятся в некластеризованном индексе, можно ожидать, что следующий запрос будет иметь практически одинаковую производительность в сценариях 1 и 2, поскольку все сценарии можно извлечь из страниц индекса в сценарии 2, а не обращаться к таблице.страницы данных?
ЗАПРОС
SELECT A, B, C FROM TBL ORDER BY A
СЦЕНАРИЙ 1
CREATE CLUSTERED INDEX IX1 ON TBL (A, B, C);
СЦЕНАРИЙ 2
CREATED NONCLUSTERED INDEX IX1 ON TBL (A) INCLUDE (B, C);