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