读书人

有丛集索引的表select × from tb

发布时间: 2013-03-19 17:22:05 作者: rapoo

有聚集索引的表select × from tb

select × from tb
出来的数据是按聚集索引顺序排好序的么?
[解决办法]
聚集索引 插入的时候就已经排序好了,你SELECT 出来当然也是排序好的,除非你特定ORDER BY
[解决办法]
准确来是说按聚集索引所在的那列或者那些列预先排序。可以看执行计划,如果有sort(中午符号叫:排序),那证明没有按聚集索引的顺序排序
[解决办法]
不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。
你自己试试就行了。
比如
主键
[解决办法]
非聚集索引列
A
[解决办法]
B
B
[解决办法]
C
C
[解决办法]
A
D
[解决办法]
D
[解决办法]
引用:
不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。
你自己试试就行了。
比如
主键
[解决办法]
非聚集索引列
A
[解决办法]
B
B
[解决办法]
C
C
[解决办法]
A
D
[解决办法]
D


对头,非聚集索引如果覆盖查询的话,有可能走非聚集索引。
如果并行查询,也不能保证按索引键顺序返回,总之要确保有序,order by吧。

读书人网 >SQL Server

热点推荐