当我查看SELECT查询的执行计划时,我经常会注意到在CPU中抛出的类型。问题是我的查询中没有任何顺序,看起来排序的原因是为查询中使用的索引上的列设置了升序/降序。
为什么会发生这种情况,是否可以关闭(我应该这样做)?
答案 0 :(得分:3)
SQL Server中有很多操作可能导致在计划中添加排序,而查询中没有ORDER BY
。
DISTINCT
和UNION
会导致排序重复。
GROUP BY
可能需要sort
列上的GROUP BY
段迭代器(用于排名函数)要求其输入在段列上排序。
你有一个特定的例子吗?
答案 1 :(得分:2)
结果使用索引自动排序。您可以指定order by子句 这是索引的目的,排序数据以便快速找到一些行。