运行一个非常简单的查询:
SELECT TOP 10 *
FROM WH.dbo.vw_data m
ORDER BY DateCompleted
大约需要4分钟。
96% 的执行由以下人员承担:
警告是什么意思,如何解释?
该字段DateCompleted
未编入索引:这是否意味着除非我们使用索引命中替代字段,或者向其添加索引DateCompleted
总是很慢?
运行一个非常简单的查询:
SELECT TOP 10 *
FROM WH.dbo.vw_data m
ORDER BY DateCompleted
大约需要4分钟。
96% 的执行由以下人员承担:
警告是什么意思,如何解释?
该字段DateCompleted
未编入索引:这是否意味着除非我们使用索引命中替代字段,或者向其添加索引DateCompleted
总是很慢?
绝对索引DateCompleted
。从执行计划中可以看出,96% 的开销发生在对该字段进行排序时,因此添加索引是有意义的。
CREATE NONCLUSTERED INDEX IX_DATE_COMPLETED
ON YourTable (DateCompleted);
当排序操作无法在内存中完成并且必须溢出到 tempdb 时,SQL Server 会引发排序警告
本文回答了您关于排序警告的问题(链接再次更新,感谢@quarkonium:
http://blogs.solidq.com/en/sqlserver/identifying-solving-sort-warnings-problems-sql-server/