sys.dm_db_index_usage_stats DMV 提供有关 sql server 中索引的查找和扫描次数的信息
我有大量包含多个列的复合索引。我怀疑这些索引会导致大量维护开销,并且想缩小列数。
有没有一种方法可以找到针对复合索引中各个列的搜索和扫描。
最佳答案
SQL Server
不实现SKIP SCAN
,因此对复合索引的查找始终包括索引的最左边(前导)列。
也就是说,如果您在 (col1, col2)
上有索引,则索引查找可用于搜索 col1
或 col1
> 和 col2
,但不适用于 col2
单独。
如果您搜索所有这些列,您很可能会从使用索引中受益。
您提到的“维护开销”是什么?单列索引和多列索引之间有什么区别?
关于sql-server - 复合索引 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1955101/