通过rowid可以快速的定位某一行具体的数据位置。便于数据的查询和管理
执行sql
select rowid,empno,ename from pub_emp
显示执行信息
----------------------------------------
r owid empno ename
AAASPbAAEAAAAJ7AAA 7369SMITH
AAASPbAAEAAAAJ7AAB 7499ALLEN
AAASPbAAEAAAAJ7AAC 7521WARD
AAASPbAAEAAAAJ7AAD 7566JONES
AAASPbAAEAAAAJ7AAE 7654MARTIN
AAASPbAAEAAAAJ7AAF 7698BLAKE
AAASPbAAEAAAAJ7AAG 7782CLARK
AAASPbAAEAAAAJ7AAH 7788SCOTT
AAASPbAAEAAAAJ7AAI 7839KING
AAASPbAAEAAAAJ7AAJ 7844TURNER
AAASPbAAEAAAAJ7AAK 7876ADAMS
AAASPbAAEAAAAJ7AAL 7900JAMES
AAASPbAAEAAAAJ7AAM 7902FORD
AAASPbAAEAAAAJ7AAN 7934MILLER
我们从rowid内查询出来的rowid是基于base64编码,一共有18位,可以分成四个部分
如:AAASPbAAEAAAAJ7AAA
AAASPb AAE AAAAJ7 AAA
AAASPb:表示data_object_id(包含对象的段的数据字典标示),根据object_id(对象的数据字典标示)可以确定segment(段)。
AAE:表示相对文件号(RFN)。根据相对文件号(RFN)可以得到绝对文件号(AFN),确定datafile。
AAAAJ7:表示data_block_number。相对于datafile而言,不算相对于tablespace的编号。
AAA:表示row_number。
执行sql
select rowid,empno,ename from pub_emp
显示执行信息
----------------------------------------
r owid empno ename
AAASPbAAEAAAAJ7AAA 7369SMITH
AAASPbAAEAAAAJ7AAB 7499ALLEN
AAASPbAAEAAAAJ7AAC 7521WARD
AAASPbAAEAAAAJ7AAD 7566JONES
AAASPbAAEAAAAJ7AAE 7654MARTIN
AAASPbAAEAAAAJ7AAF 7698BLAKE
AAASPbAAEAAAAJ7AAG 7782CLARK
AAASPbAAEAAAAJ7AAH 7788SCOTT
AAASPbAAEAAAAJ7AAI 7839KING
AAASPbAAEAAAAJ7AAJ 7844TURNER
AAASPbAAEAAAAJ7AAK 7876ADAMS
AAASPbAAEAAAAJ7AAL 7900JAMES
AAASPbAAEAAAAJ7AAM 7902FORD
AAASPbAAEAAAAJ7AAN 7934MILLER
我们从rowid内查询出来的rowid是基于base64编码,一共有18位,可以分成四个部分
如:AAASPbAAEAAAAJ7AAA
AAASPb AAE AAAAJ7 AAA
AAASPb:表示data_object_id(包含对象的段的数据字典标示),根据object_id(对象的数据字典标示)可以确定segment(段)。
AAE:表示相对文件号(RFN)。根据相对文件号(RFN)可以得到绝对文件号(AFN),确定datafile。
AAAAJ7:表示data_block_number。相对于datafile而言,不算相对于tablespace的编号。
AAA:表示row_number。