Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 为什么SQLServer2005DynamicManagementView报告一个缺失的索引,而它不是?_Sql Server 2005 - Fatal编程技术网

Sql server 2005 为什么SQLServer2005DynamicManagementView报告一个缺失的索引,而它不是?

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)

我使用的是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
告诉我需要的吗?

如果您删除并创建了索引,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)