物理存储顺序只有一种,就是按照聚集索引。
排序顺序可以按照非聚集索引,相当于省略了order by子句

解决方案 »

  1.   

    表混淆物理顺序和逻辑顺序。表中的数据是按照物理顺序存储,这个只能依据聚集索引。你需要读出来的数据属于逻辑顺序。如果指定了Order by当然没有疑义。没有指定的情况下,不能认为一定按照某种顺序排列(事实上,一般是按照最后创建的非聚集索引来排序,但这个又和数据库的排序规则有关,也不是绝对的,所以应当认为是不确定的)。总之,最好不要幻想没有指定Order by,数据却能够一定按照某一种顺序呈现。
      

  2.   

    总之,最好不要幻想没有指定Order by,数据却能够一定按照某一种顺序呈现
    说的对呀
      

  3.   

    如果有聚集索引,在物理文件中按照此聚集索引排序存储
    如果没有聚集索引,则在物理文件中无序排列
    非聚集索引不影响物理文件中的排序,只有提高查询性能的作用
    至于OrderBy只不过是规定数据显示时的顺序,与物理文件中的排序无关
    如果有主键并且未指定OrderBy,则按照主键排序输出