ROWID 是一个类似于rownum的伪列,用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即
被确定且唯一。而对于聚簇表,由于聚簇特性,不同表上的记录由于存储在相同的簇上,因此会拥有相同的ROWID。数据库的大多数操作都是通
过ROWID来完成的,而且使用ROWID来进行单记录定位速度是最快的。下面将给出ROWID的相关描述。
一、ROWID的特性组成及用途
1、特性
相对唯一性(聚簇表上不唯一)
一旦确定,不可随意更改
使用10个字节存储(扩展rowid),显示为18位的字符串
特殊情况下,ROWID会发生变化(如下列情形)
表的导入导出操作
alter table tab_name move
alter table tab_name shrink space
flashback table tab_name
拆分分区表
分区表上更新一个值后记录被移入到新分区
合并两个分区
2、组成(扩展ROWID)
数据库对象的对象编号
数据库对象所在文件的文件编号
数据库对象上块的编号
块上的行编号(起始值为0)
3、用途
快速定位单行记录
展示行在表上如何存储
表上的一行的唯一标识符
用作数据类型 column_name rowid
4、限制rowid,扩展rowid
限制rowid用于早期Oracle版本(Oracle 8 以前),rowid由file#+block#+row#组成,占用6个bytes的空间
扩展rowid,由data_object_id#+rfile#+block#+row#组成,占用10个bytes的空间
二、ROWID的格式
三、查看ROWID信息及相关演示
1、查看堆表上rowid及获取rowid信息
2、查看簇表上的rowid
有关簇表请参考:簇表及簇表管理(Index clustered tables)
3、使用rowid访问数据的情形
4、使用rowid数据类型
5、rowid变化的情形
分享到:
相关推荐
本文重点探讨了一种基于Oracle RowID实现批量数据分页下载的方法,这种方法可以有效提高效率并减少对数据库的压力。 RowID是Oracle数据库中用于唯一标识每一行数据的物理地址,它不是用户可见的列,但可以在SQL查询...
mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句
"Oracle数据库rowid深入探析" Oracle数据库rowid是Oracle数据库中一个重要的概念,也是Oracle DBA考试中一个重要的知识点。rowid是Oracle数据库中的一种伪列,它可以唯一地标识表中的每一行。伪列类似于数据表的列...
Oracle的ROWID是一个重要的概念,它是数据库中每一行记录的物理地址标识,允许快速定位到数据存储的具体位置。ROWID由一系列的十六进制数字组成,包含数据对象编号、文件编号、块编号以及行编号,这四个部分共同构成...
Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid
### Oracle中用Rowid查找和删除表中的重复记录 在Oracle数据库管理中,处理重复记录是一项常见的需求,尤其是在数据量较大的情况下。本文将详细介绍如何利用Rowid这一特性来有效地查找和删除表中的重复记录。 ####...
ROWID是Oracle中一种特殊的数据类型,用于表示数据库表中每条记录的物理地址。ROWID可以被用来快速定位到表中的特定行,因此对于基于ROWID的查询非常高效。 --- 以上是从Tianlesoftware Oracle 学习手册(v1.0)中...
**ROWID** 是 Oracle 数据库中一个非常重要的概念,它是一种特殊类型的列,用于唯一标识表中的一行数据。ROWID 的格式通常包含数据对象号 (Data Object Number)、相对文件号 (Relative File Number)、块号 (Block ...
Oracle的ROWID类型可以直接对应到DB2/400中的ROWID类型,但在使用时需注意功能上的细微差别。 综上所述,Oracle和DB2/400在数据类型上存在显著差异,特别是在日期时间类型、数值类型、字符类型和大对象类型方面。...
ROWID在Oracle中是一种特殊的数据类型,可以通过它来快速访问特定的行。在需要检查重复值或其他与ROWID有关的操作时,可以在任何表中创建和使用ROWID列。 #### 四、限制索引 在实际应用中,一些开发人员可能会因为...
8. **ODBC连接ORC**:这里的“ORC”可能是指Oracle的数据类型,如Oracle ROWID,ODBC驱动程序需要正确处理这些特定于Oracle的数据类型。 9. **文档的重要性**:压缩包中包含的使用文档是宝贵的资源,很可能记录了...
文档中还提到了Oracle Rowid的概念,Oracle Rowid是Oracle数据块中的一个伪列,它包含了指向数据行存储位置的唯一地址。在某些情况下,可以用来优化查询操作。 文档的作者在学习Oracle数据库的过程中,参考了多位...
ROWID是Oracle中的一种特殊数据类型,表示表中每一行的物理地址。通过ROWID可以直接定位到具体的物理位置,因此可以极大地提高查询效率。 综上所述,本文档通过对Oracle的基础知识进行了深入的探讨,特别是对OLTP和...
1.2.9 Oracle ROWID:每个Oracle表都具有一个伪列ROWID,代表每行数据在数据库中的唯一物理地址,对于优化查询和维护数据块非常有用。 1.2.10 选择性:索引的“选择性”是指不同值占总行数的比例,选择性越高,...
- **索引与ROWID**:ROWID是指Oracle为每一行分配的唯一地址。索引可以通过ROWID快速定位到表中的具体行。 - **索引的选择性**:索引的选择性是指索引键值在表中出现的独特程度。如果索引键具有高选择性(例如,护照...
*.*.*.* Oracle ROWID:ROWID是Oracle中的伪列,指向表中每行的物理位置。Oracle使用ROWID来快速访问表中的数据行。 *.*.*.** 选择性:选择性是指某列中不同值的数目与表中总行数的比例。选择性高的列使用索引的...
ROWID是Oracle中唯一标识每一行的地址,它提供了一种直接访问数据行的方式。在处理行级别的操作时,ROWID是非常有用的,例如查找重复值或对ROWID的直接引用。 **限制索引** 索引的使用受限于查询语句的编写方式。...
Oracle ROWID是每个行的唯一标识,它直接指向数据行的位置。通过ROWID,可以高效地定位和访问单行数据。在处理重复值检查或ROWID相关操作时,ROWID列可以在任何表中使用。 接着,我们讨论了限制索引的情况,这是...