复合索引 - SQL Server

时间:2009-12-23 20:24:10

标签: sql-server composite-index

sys.dm_db_index_usage_stats DMV提供有关sql server中索引的搜索次数和扫描次数的信息

我有大量包含多列的复合索引。我怀疑这些索引会导致很多维护开销,因此希望缩小列数。

有没有办法可以在复合索引中找到针对单个列的搜索和扫描。

1 个答案:

答案 0 :(得分:3)

SQL Server未实现SKIP SCAN,因此对复合索引的搜索始终包含索引的最左侧(前导)列。

也就是说,如果您在(col1, col2)上有索引,则索引搜索可用于搜索col1col1 {{1} },但不仅仅是col2

如果您搜索所有这些列,您很可能会从使用索引中受益。

您提到的“维护开销”是什么?单列和多列索引之间有何不同?