【发布时间】:2011-07-07 19:20:38
【问题描述】:
我有一个复杂的 MSSQL 2008 查询,显示计划在排序操作中有 40% 的工作(有几 mil 行,查询执行前 15000 行),计划的其余部分是索引查找和扫描.
如果我删除TOP 子句,查询将下降到一秒钟。但我需要TOP。有哪些经验法则可以巧妙地优化此 SORT 需求?
【问题讨论】:
-
您的 ORDER BY 是否包含任何函数?
-
order by 中没有函数。
-
等等,order by 实际上是一个子查询(linq-to-sql 做了这个垃圾查询)。
-
你能告诉我们execution plan吗?
标签: sql-server sql-order-by sql-execution-plan