我们通常通过查询查询条件来制作索引,例如。查询列中使用的列,其中condition,join,所以为什么没有使用所有索引,以及为什么在 sys.dm_db_index_usage_stats
中找不到所有索引对象的列答案 0 :(得分:0)
我假设您要问为什么不在sys.dm_db_index_usage_stats中显示所有索引。 sys.dm_db_index_usage_stats仅显示自启动sql server以来的统计信息。因此,重新启动SQL服务器后,所有统计信息都将重置为空。如果自SQL Server启动以来尚未使用索引,则它将无法显示在sys.dm_db_index_usage_stats中。
如果您的问题是为什么不使用所有索引,那么可能是因为SQL Server为您的查询提供了更好的执行计划(或认为它有)。请记住:索引对于加快查询速度并不是一个神奇的冒犯。不要因为你可以创建索引。 Kimberly Tripp有一个很好的博客:http://www.sqlskills.com/blogs/kimberly/indexes-just-because-you-can-doesnt-mean-you-should/