编写 SELECT 语句 / 单个表的 SELECT 语句 |
数据库服务器将唯一的 rowid 指定给未分片的表中的行。实际上,rowid 是每个表中的隐藏列。rowid 的顺序值没有任何特殊意义,可能根据 chunk 中的物理数据的位置的不同而变化。可以使用 rowid 来找到与表中的某行相关联的内部记录号。分片表中的行不自动包含 rowid 列。
建议您在应用程序中使用主键而不是 rowid 作为访问的方法。因为主键是用 SQL 的 ANSI 规范定义的,所以使用它们来访问数据提高了应用程序的可移植性。另外,当数据库服务器使用主键时,它访问分片表中的数据所需的时间比使用rowid 时访问相同数据所需的时间要要少。
有关 rowid 的更多信息,请参阅 GBase 8s 数据库设计和实现指南和 GBase 8s 管理员指南。
图: 查询
SELECT rowid, * FROM manufact;
图: 查询结果
rowid manu_code manu_name lead_time 257 SMT Smith 3 258 ANZ Anza 5 259 NRG Norge 7 260 HSK Husky 5 261 HRO Hero 4 262 SHM Shimara 30 263 KAR Karsten 21 264 NKL Nikolus 8 265 PRC ProCycle 9
不要在 permanent 表中存储 rowid 或尝试将它用作外键。如果删除了一个表然后从外部数据重新装入它,那么所有 rowid 都将不同。