关于ROWID的简单理解和认识

Oracle Rowid的简单理解和认识

1.ROWID Oracle 的一个用来给数据排序的伪列,
2.ROWID Oracle 数据库中每一行数据的一个唯一标识
3.ROWID 并不是像一般列值那样明确地存储
4.ROWID 并不是直接给出了一行数据的物理地址,但是它可以用来定位一行数据
5.ROWID 提供了访问表当中一条数据的最快方法
6.ROWID 需要 10 字节来存储在磁盘上,用 18 个字符显示
 
18 个字符的格式说明如下:
18 个字符的划分用四个字来说就是“六三六三”
第一个‘六’代表 Data Object Number 数据对象编号
第一个‘三’代表 Relative File Number 相关文件编号
第二个‘六’代表 Block Number 块编号
第二个‘三’代表 Row Number 行编号
例如:
SQL> select a.rowid,a.* from tb_employee a;
 
ROWID              EMP_NO     EMP_NAME             DEP_NO
------------------ ---------- -------------------- ----------
AAAMicAABAAAOtCAAA 10         Jack                 20
AAAMicAABAAAOtCAAB 20         Tom                  10
AAAMicAABAAAOtCAAC 30         Mary                 10
 
tb_employee 表中 3 行数据:
数据对象编号均为: AAAMic
相关文件编号均为: AAB
块编号均为 AAAOtC
行编号分别为 AAA AAB AAC
 
四种编号是一个由大及小的过程,我的理解是根据数据对象编号找到相应的表空间,根据关键文件编号找到相应的数据文件,根据块编号找到相应的块,根据行编号找到对应的行。

你可能感兴趣的:(职场,rowid,休闲,ROWID含义,ROWID格式)