解决方案 »

  1.   

    Quote: 引用 楼主 java_pet 的回复:

    Quote:
    应该是按块的读取顺序现实的,
    如果没有对数据结构进行更改,多次查询应该不会有差异。
      

  2.   

    大多数是按照rowid排序的,但不是绝对,尤其是多表关联查询的时候
      

  3.   

    如果只是单表查询的话,不知道Order by的情况下,是否确切一定按照rowid排序呢,是否还有其他意外的情况
      

  4.   

    不一定,你可以试一下就知道了,是按照块读取顺序来显示的。
    至于块读取的顺序又跟你查询的语句有关,比如走索引或者全表查询。
    即便是全表查询,也不一定,因为rowid还包含一些特殊字符。如“\”,"+"等。通过实践证明了,按rowid排序和默认的查询结果并不一致
      

  5.   

    不同的版本问题
    你可以尝试设置_gby_hash_aggregation_enabled=false,应该就有了group by 排序的功能
      

  6.   

    不一定,你可以试一下就知道了,是按照块读取顺序来显示的。
    至于块读取的顺序又跟你查询的语句有关,比如走索引或者全表查询。
    即便是全表查询,也不一定,因为rowid还包含一些特殊字符。如“\”,"+"等。通过实践证明了,按rowid排序和默认的查询结果并不一致

    果然实践是检验真理的唯一标准啊,呵呵
      

  7.   

    刚去测试了下,一个1万+的表加不加order by rowid就产生了差异