在执行计划中隐式执行的顺序

问题描述:

当我查看SELECT查询的执行计划时,我经常会注意到在CPU中发生了排序。问题是我的查询中没有任何顺序,它看起来像排序的原因是为查询中使用的索引列设置的升序/降序。在执行计划中隐式执行的顺序

为什么会发生这种情况,它可以关闭(我应该)?

+0

你能举个例子吗? – 2011-03-16 17:36:28

结果使用索引automaticaly进行排序。您可以指定一个order by子句。
这是索引的目的,对数据进行排序以快速找到一些行。

SQL Server中有相当多的操作可能会导致将排序添加到计划中,而在查询中不存在ORDER BY

DISTINCTUNION将导致排序以摆脱重复。

GROUP BY可能需要在GROUP BYsort如果计划有一个流聚合,而不是一个哈希总有是返回所需的数据预排序没有合适的索引。

段迭代器(用于排名函数)要求其输入在段列上排序。

你有特定的例子吗?