rowid结构浅析
来源:互联网 发布:ubuntu默认字体是什么 编辑:程序博客网 时间:2024/06/10 14:11
select rowid from dual
AAAAB0AABAAAAOhAAA
rowid结构如下:
对象号 文件号 块号 行号
XXXXXX XXX XXXXXX XXX
因此,
AAAAB0 对象号
AAB 文件号
AAAAOh 块号
AAA 行号
如何得知这些编号对应的十进制编码值呢(rowid是基于64位编码的18个字符显示的,对象号(6)+文件号(3)+块号(6)+行号(3)),其中
A-Z 0-25
a-z 26-51
0-9 52-61
+/ 62-63
共64位,明白这个后我们就可以计算出十进制的编码值了,计算公式如下:
d*(b^p)
d 表示字符对应的十进制编码值
b 64
p 从右至左,每个对象从0开始计数
比如计算rowid=AAAAB0AABAAAAOhAAA的块号:
AAAAOh
33*(64^0)=33
14*(64^1)=896
0*(64^2)=0
0*(64^3)=0
0*(64^4)=0
0*(64^5)=0
块号就是33+896=929
可以通过dbms_rowid包来获得相关信息:
select dbms_rowid.rowid_object(rowid) objectid--对象号
,dbms_rowid.rowid_relative_fno(rowid) fileid--文件号
,dbms_rowid.rowid_block_number(rowid) blockid--块号
,dbms_rowid.rowid_row_number(rowid) rownums--行号
from dual
- rowid结构浅析
- oracle8的ROWID结构
- oracle8的ROWID结构
- Rowid
- ROWID
- rowid
- ROWID
- ROWID
- ROWID
- ROWID
- rowid
- InnoDB页结构浅析
- InnoDB记录结构浅析
- JBPM4 数据库结构浅析
- IP报文结构浅析
- c#中结构浅析
- LRC文件结构浅析
- 插件系统结构浅析
- 浅谈集线器、路由器、交换机、网关的 作用与区别
- Axure教程 axure新手入门基础(5)
- ios内购二次认证服务器代码
- FBO2
- 2013-9月学习清单
- rowid结构浅析
- 请指点下!我不想浪费资源
- hdu 4701 博弈难题
- javascript实现php的print_r函数
- OpenCv fillPoly polylines
- oracle创建job实践sql
- WINCE6.0文件系统选择
- 【Android 开发教程】在服务中执行耗时操作
- android绑定Service失败原因