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