Oracle数据库之ROWID伪列

通过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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值