ROWID
来源:互联网 发布:redcloud赤芸有淘宝吗 编辑:程序博客网 时间:2024/05/01 09:19
当一个用户往Oracle数据库的表中插入一行数据时,Oracle就会自动在这一行数据上加上一个ROWID.
在一个Oracle数据库中每一行数据都会有一个唯一的ROWID,Oracle系统就是利用ROWID来定位数据行的。
ROWID是Oracle数据库提供的一个内置的标量数据类型,ROWID列可以同一个表中的其他列一起查询。
rowid具有一些如下的特性:
*ROWID是数据库中每一行的唯一标识符
*ROWID并不显式的存储为一列的值。
*ROWID可以被用来定位行,虽然它并未直接的给出一行的物理地址。
*ROWID提供了访问一个表中一行数据的最快的机制。
通过引入逻辑ROWID,实现了在索引表中可以有多个索引。
ROWID有两种,分别是扩展ROWID和限制性ROWID,其中扩展ROWID的格式如下:
-------- --------- --------- ---------
oooooo FFF BBBBBB RRR
-------- --------- --------- ----------
数据对象号 相对文件号 块号 行号
一个扩展ROWID在磁盘上需要10个字节的存储空间,它是用18个字符来显示,扩展ROWID的组成如下:
(1)数据对象号:被赋予每一个对象,它在一个数据库中是唯一的。
(2)相对文件号:对同一个表空间中的每一个文件是唯一的。
(3)块号:为相对文件中包含数据行的块的位置
(4)行号:标识了块头中行目录的位置。
Oracle在内部扩展ROWID时,数据对象号需要32位,相对文件号需要10位,块号需要22位,而行号需要16位
,加起来总共为80位或10个字节。
扩展ROWID的显示是使用一种64位编码。其中:数据对象号为6位,相对文件号需要3位,块号需要6位,而行号需要3位,这种64位编码模式使用的字符为:A~Z,a~z,0~9还有+和/。总共64个字符。
如下:查询ROWID:
SQL> select ename,job,rowid from scott.emp;
ENAME JOB ROWID
---------- --------- ------------------
SMITH CLERK AAAMfMAAEAAAAAgAAA
ALLEN SALESMAN AAAMfMAAEAAAAAgAAB
WARD SALESMAN AAAMfMAAEAAAAAgAAC
JONES MANAGER AAAMfMAAEAAAAAgAAD
MARTIN SALESMAN AAAMfMAAEAAAAAgAAE
BLAKE MANAGER AAAMfMAAEAAAAAgAAF
CLARK MANAGER AAAMfMAAEAAAAAgAAG
SCOTT ANALYST AAAMfMAAEAAAAAgAAH
KING PRESIDENT AAAMfMAAEAAAAAgAAI
例如SMITH一列:
(1)数据对象号为AAAMfM
(2)相对文件号为AAE
(3)块号为AAAAAg
(4)行号为AAA
使用ROWID可以定位一个数据库中的任何数据行。因为一个段只能存放在一个表空间内。所以可以通过数据对象号Oracle服务器就可以找到包含数据行的表空间。之后使用表空间内的相对文件号就可以确定文件,再利用块号确定包含所需数据行的数据块,最后使用行号定位数据行的行目录项,使用行目录项可以定位数据行的起始地址。
限制性ROWID:
由块号,行号,文件号组成。
与扩展ROWID的最大区别就是:没有数据对象号。
整理自 何明《Oracle DBA基础培训教程》
- Rowid
- ROWID
- rowid
- ROWID
- ROWID
- ROWID
- ROWID
- rowid
- 关于 Rowid
- oracle rowid
- Rowid说明
- ORACLE ROWID
- rowid小记
- Oracle RowID
- ORACLE ROWID
- rownum,rowid
- rowid 相关
- Oracle ROWID
- Oracle内置数据类型和存储数据的方法
- 基于Windows CE的数据采集与控制系统设计与实现
- 《编程之美》3.6判断链表是否相交之扩展:链表找环方法证明
- Ncurses-5.6 error:cannot link with GPM library
- Oracle数据行的结构
- ROWID
- HEVC 测试序列下载地址
- 表的截断和删除
- 脆弱的生命
- 表的维护和管理
- iOS: NSData的方法dataWithContentsOfFile:
- 创建表的应用实例
- POJ 1293 - Duty Free Shop 01背包记录所选物品
- 暑假第三场E