ROWID 数据类型
--是一行的唯一标识
--用于定位行
ROWID 的格式
OOOOOO FFF BBBBBB RRR
数据对象号 相对文件号 块号 行号
数据对象编号需要32 位,相关文件编号需要10 位,块编号需要22,位行编号需要16 位,加起来总共是80 位或10 个字节
数据文件的最大尺寸?
32bit---object number--------,每个数据库最多有4G个对象
10bit---file number-----,每个数据库最多有1022个文件(2个文件预留)
22bit---block number--------,每个文件最多有4M个BLOCK
16bit---row number--------,每个BLOCK最多有64K个ROWS
ROWID的编码方案和显示
ROWID 使用以64 为基数的编码方案来显示,该方案将六个位置用于数据对象编号,三个位置用于相关文件编号,六个位置用于块编号,三个位置用于行编号。
以64 为基数的编码方案使用字符A-Z a-z 0-9 + 和/,共64 个字符
SQL> select rowid from LUNAR_EMP;
ROWID
------------------
AAAG/LAAGAAAACeAAA
SQL>
AAAG/L 是数据对象编号
AAG是相关文件编号
AAAACe是块编号
AAA 是行编号
--是一行的唯一标识
--用于定位行
ROWID 的格式
OOOOOO FFF BBBBBB RRR
数据对象号 相对文件号 块号 行号
数据对象编号需要32 位,相关文件编号需要10 位,块编号需要22,位行编号需要16 位,加起来总共是80 位或10 个字节
数据文件的最大尺寸?
32bit---object number--------,每个数据库最多有4G个对象
10bit---file number-----,每个数据库最多有1022个文件(2个文件预留)
22bit---block number--------,每个文件最多有4M个BLOCK
16bit---row number--------,每个BLOCK最多有64K个ROWS
ROWID的编码方案和显示
ROWID 使用以64 为基数的编码方案来显示,该方案将六个位置用于数据对象编号,三个位置用于相关文件编号,六个位置用于块编号,三个位置用于行编号。
以64 为基数的编码方案使用字符A-Z a-z 0-9 + 和/,共64 个字符
SQL> select rowid from LUNAR_EMP;
ROWID
------------------
AAAG/LAAGAAAACeAAA
SQL>
AAAG/L 是数据对象编号
AAG是相关文件编号
AAAACe是块编号
AAA 是行编号