SQL SERVER 创建了聚类索引,查询后是否还需要排序??求高手指教
如题,我有一个表其中是按照ID创建了一个聚类索引
比如
有一个study表有如下几列:
id name score
我在id上建立一个聚类索引,当我有如下查询时, 是否有必要加上order by id, 如果不加貌似也是按照顺序排序的,是不是可以不加??
select * from study where score >60 order by id
比如
有一个study表有如下几列:
id name score
我在id上建立一个聚类索引,当我有如下查询时, 是否有必要加上order by id, 如果不加貌似也是按照顺序排序的,是不是可以不加??
select * from study where score >60 order by id
作者: wangjunhe 发布时间: 2011-06-09
可以不加。
作者: zy112429 发布时间: 2011-06-09
我试过,加了以后花费时间更长,楼上的确定可以不加吗
作者: wangjunhe 发布时间: 2011-06-09
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
可以不加。
作者: wangjunhe 发布时间: 2011-06-09
引用 3 楼 wangjunhe 的回复:
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
还是 加吧, 你加了后出来的肯定是按 ID 顺序的。
而假如你不加,出来的结果 要根据查询优化器选择的 执行计划
作者: abcjun188 发布时间: 2011-06-09
引用 4 楼 abcjun188 的回复:
引用 3 楼 wangjunhe 的回复:
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
还是 加吧, 你加了后出来的肯定是按 ID 顺序的。
而假如你不加,出来的结果 要根据查询优化器选择的 执行计划
跟执行计划貌似没什么关系吧,最终的结果好像还是根据物理存储里面读取出来的,聚类索引本身就是在存储里按顺序放的,所以读取的结果还是顺序的,不知道分析的对不对
引用 3 楼 wangjunhe 的回复:
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
还是 加吧, 你加了后出来的肯定是按 ID 顺序的。
而假如你不加,出来的结果 要根据查询优化器选择的 执行计划
作者: wangjunhe 发布时间: 2011-06-09
引用 5 楼 wangjunhe 的回复:
引用 4 楼 abcjun188 的回复:
引用 3 楼 wangjunhe 的回复:
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
还是 加吧, 你加了后出来的肯定是按 ID 顺序的。
而假如你不加,出来的结果 要根据查询优化器选择的 执行计划
跟执行计划貌似没什么关系吧,最终的结果好像还是根据物理存储里面读取出来的,聚类索引本身就是……
引用 4 楼 abcjun188 的回复:
引用 3 楼 wangjunhe 的回复:
引用 1 楼 zy112429 的回复:
可以不加。
are you sure?
还是 加吧, 你加了后出来的肯定是按 ID 顺序的。
而假如你不加,出来的结果 要根据查询优化器选择的 执行计划
跟执行计划貌似没什么关系吧,最终的结果好像还是根据物理存储里面读取出来的,聚类索引本身就是……
SQL code
好吧,一切看运气,要不你试一试执行下面两句 create index test_study on study(name) select id from study
作者: abcjun188 发布时间: 2011-06-09
--如果你的结果有排序的需求。加!
--不要靠SQL SERVER自己的排序,即使是聚集索引
--不要靠SQL SERVER自己的排序,即使是聚集索引
作者: wwwwgou 发布时间: 2011-06-09