Oracle中表里边的数据默认是按照聚集索引的顺序排列的吗?假定表中有主键和聚集索引。索引 数据顺序索引,数据顺序

解决方案 »

  1.   

    数据库select的默认排序
     
    oracle对无order by的语句返回的结果不进行排序,oracle此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无order by查询结果看起来也可能是个杂乱无章的。
    要想有序,一定要加上 order by ,不要指望默认排序
      

  2.   

    除了索引表,Oracle存储数据不讲究先后顺序,基本按照插入顺序存储。聚族表则把相同聚族值的行存放在相同或相邻的数据块中。