select × from tb 出来的数据是按聚集索引顺序排好序的么?

解决方案 »

  1.   

    聚集索引 插入的时候就已经排序好了,你SELECT 出来当然也是排序好的,除非你特定ORDER BY
      

  2.   

    准确来是说按聚集索引所在的那列或者那些列预先排序。可以看执行计划,如果有sort(中午符号叫:排序),那证明没有按聚集索引的顺序排序
      

  3.   

    不一定。有其他非聚集索引存在的话,可能会按其他非聚集索引键的顺序排序被select出来。
    你自己试试就行了。
    比如
    主键 | 非聚集索引列
    A | B
    B | C
    C | A
    D | D
      

  4.   


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

  5.   

    好吧,问的低端了,还是使用order by吧