sys.dm_db_index_usage_stats DMV提供有关sql server中索引的搜索次数和扫描次数的信息
我有大量包含多列的复合索引。我怀疑这些索引会导致很多维护开销,因此希望缩小列数。
有没有办法可以在复合索引中找到针对单个列的搜索和扫描。
答案 0 :(得分:3)
SQL Server
未实现SKIP SCAN
,因此对复合索引的搜索始终包含索引的最左侧(前导)列。
也就是说,如果您在(col1, col2)
上有索引,则索引搜索可用于搜索col1
或col1
和 {{1} },但不仅仅是col2
。
如果您搜索所有这些列,您很可能会从使用索引中受益。
您提到的“维护开销”是什么?单列和多列索引之间有何不同?