目录
- 一、ROWID基础概念
- 二、ROWID的类型
- 三、ROWID的用途
- 四、注意事项
- 五、管理与监控
Oracle的ROWID是一个非常核心的概念,它代表了一行数据在数据库中的物理位置标识。
一、ROWID基础概念
-
唯一性与不变性:ROWID是每行数据的唯一标识符,它在行被插入数据库时即被确定且通常是不变的,除非数据被移动(如通过TRUNCATE或MOVE操作)。
-
物理地址:ROWID实际上存储了数据行的物理位置信息,包括数据文件号(RFILE#)、块号(BLOCK#)、行号(ROW#)以及对象编号(OBJ#)(在扩展ROWID中)。这些信息精确指定了行在磁盘上的存放位置。
-
结构:标准的扩展ROWID结构为32位的对象编号(OBJ#)、10位的相对文件号(RFILE#)、22位的块号(BLOCK#)和16位的行号(ROW#),总共占用10个字节存储空间,并以18个字符的形式展示。
-
伪列:ROWID在每个表中都作为一个伪列存在,意味着它不是一个实际存储在表中的字段,但在查询时可以像访问其他列一样被引用。
二、ROWID的类型
-
Physical ROWID:适用于堆表、簇表及表和索引分区,直接指向数据行的物理位置。
-
Logical R