首批通过分布式安全可靠测评,为关键业务系统打造
Rowid 数据类型
更新时间:2026-04-11 20:32:36
数据库中的每一行都有一个地址。Rowid 数据类型用于存储数据库中的行地址,包括 ROWID 和 UROWID。本文主要对 Rowid 数据类型进行相关介绍。
ROWID 数据类型
OceanBase 数据库当前版本所支持的 ROWID 为逻辑 ROWID。索引组织表(IOT)的 ROWID 就是逻辑 ROWID。
您可以通过查询伪列 ROWID 来检查 ROWID 行地址。该伪列的值为表示每行地址的字符串,这些字符串的数据类型为 ROWID。您还可以创建包含具有 ROWID 数据类型列的表。
ROWID 通过 Base64 编码转换而成。
ROWID 不能直接使用,有关详细的使用说明,请参见 ROWID 伪列。
UROWID 数据类型
Rowid 的另一种类型叫 Universal Rowed(UROWID)。UROWID 支持逻辑 ROWID。
某些表的行具有非物理或永久地址,或者不是由 OceanBase 数据库生成的地址。例如,索引组织表的行地址存储在索引叶中,是可以移动的。
OceanBase 数据库使用通用 ROWID (UROWID) 来存储索引组织表的地址。索引组织表具有逻辑 UROWID,UROWID 存储在 ROWID 伪列中。
OceanBase 数据库根据表的主键创建逻辑 ROWID。只要主键不变,逻辑 ROWID 就不会改变。索引组织表的 ROWID 伪列的数据类型为 UROWID。您可以使用 SELECT ... ROWID 语句访问此伪列。如果要存储索引组织表的 ROWID,则可以为该表定义一个 UROWID 类型的列,并将 ROWID 伪列的值检索到该列中。