如题:
    分区表建在日期字段上,主键是其他字段,在每个分区上物理数据顺序是这样排列的?
 例如:
   表A(
      字段1  Guid  ,--用于和其他表关联
      字段2 主键,      
      字段3 Date --分区列)    我理解的是 分区列(字段3) 只是帮助定位到每个分区, 而在每个分区里是通过 主键字段(字段2) 物理排序存储的?
另外,建立了主键,oracle自动在主键列上建立了类似sqlserver的聚集索引吧?请高手解惑,谢谢。

解决方案 »

  1.   

    你可以自己确认的。
    -------------------------------
    select t.字段2,
           dbms_rowid.rowid_relative_fno(rowid) "文件号",
           dbms_rowid.rowid_block_number(rowid)  "块号",
           dbms_rowid.rowid_row_number(rowid)  "顺序号"       
    from tablename t
    where 字段3 between &date1 and &date2
    order by 字段2
      

  2.   

    其实你没必要那么在意 分区内部是怎么排序的
    系统怎么排就怎么排,如果你要查询出来数据是排序的 用order by就好了
      

  3.   

    1、oracle建立主键后,会自动建立主键索引。
    2、一般索引键值按B*树来存储的。
    3、记录是无序存储的。
      

  4.   

    [Quote=引用 8 楼 abcyzq 的回复:]
    记录应该是按主键顺序存储的吧。不然数据量大的时候,查找效率会差很多楼主对ORACLE 存储机制理解有误啊。主键跟存储顺序是无关的,否则索引用来干嘛?如果主键和存储有关系,那么删除数据将会很痛苦... 如果楼主非要实现类似效果,可以使用索引组织表(IOT),详细信息请自己学习。