Sql server 2005 为什么SQLServer2005DynamicManagementView报告一个缺失的索引,而它不是?
我使用的是SQLServer2005和动态管理视图Sql server 2005 为什么SQLServer2005DynamicManagementView报告一个缺失的索引,而它不是?,sql-server-2005,Sql Server 2005,我使用的是SQLServer2005和动态管理视图sys.dm\u db\u missing\u index\u details。它继续告诉我Table1确实需要一个关于ColumnX和ColumnY的索引,但该索引已经存在了!我甚至放弃并重新创建了几次都没有用 更多详细信息:该视图在equality\u columns下列出了Column1。第2列列列在列下,因此我创建的索引是: create index IndexA on Table1 (Column1 asc, Column2 asc)
sys.dm\u db\u missing\u index\u details
。它继续告诉我Table1确实需要一个关于ColumnX和ColumnY的索引,但该索引已经存在了!我甚至放弃并重新创建了几次都没有用
更多详细信息:该视图在equality\u columns
下列出了Column1。第2列列列在列下,因此我创建的索引是:
create index IndexA on Table1 (Column1 asc, Column2 asc)
这不正是索引sys.dm\u db\u missing\u index\u details
告诉我需要的吗?如果您删除并创建了索引,sp\u update\u stats不应该影响它(问题不在于统计数据)
也许是因为DMV的数据已经过时了
实际执行计划是否也表明SSMS中缺少索引
从
返回的信息
sys.dm_db_缺少索引_详细信息为
在通过优化查询时更新
查询优化器,而不是
坚持。缺少索引信息
仅在SQL Server启动之前保留
重新启动。数据库管理员
应定期进行备份
如果出现以下情况,则删除缺少的索引信息:
他们想把它放在服务器后面
回收利用
以确定缺少的索引
组指定一个特定的缺失索引
部分,您可以查询
sys.dm\u db\u缺少索引\u组动态
通过将管理视图与
sys.dm\u db\u缺少索引\u基于详细信息
在index_handle列上
随机思考:如果其中一列更好地声明为“DESC”,该怎么办
这对于ORDER BY子句很有用,我已经看到逻辑IO减少了一半。虽然这是一篇很老的帖子,但我在这里找到了一篇关于这方面的有用文章,其中引用了一篇关于DMV限制的Microsoft文章。我想这一想法并不是随机的,因为它解决了问题。列2列在需要按降序排序的列下:在表1上创建索引IndexA(列1 asc,列2 desc)