美文网首页
Oracle rowid 结构分析

Oracle rowid 结构分析

作者: 牛A和牛C之间的人 | 来源:发表于2019-02-05 21:08 被阅读0次

ROWID:数据库中行的全局唯一地址

  ROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一个相对唯一地址值。ROWID它是一个伪列,它并不实际存在于表中。它是ORACLE在读取表中数据行时的,根据每一行数据的物理地址信息编码而成的一个伪列。所以根据一行数据的ROWID能找到一行数据物理地址信息,从而快速地定位到数据行。

    数据库的大多数操作都是通过ROWID来完成的,而且使用ROWID来进行单记录定位速度是最快的。

    B-Tree索引的每个索引条目具有两个字段。第一个字段表示索引的键值,对于单列索引来说是一个值;而对于多列索引来说则是多个值组合在一起的。第二个字段表示键值所对应的记录行的ROWID。

索引值→ROWID->将ROWID换算成一行数据的物理地址->得到一行数据

rowid 结构

第一部分6位表示:该行数据所在的数据对象的 data_object_id; 

第二部分3位表示:该行数据所在的相对数据文件的id; 

第三部分6位表示:该数据行所在的数据块的编号; 

第四部分3位表示:该行数据的行的编号;

rowid 每位用64进制编码,具体A~Z表示0到25;a~z表示26到51;0~9表示52到61;+表示62;/表示63;

AAAT4y=19*64*64+56*64+50=81458

AAE=4

AAAAKr=10*64+43=683

AAA=0

即地址为obj#=81458,rfile#=4,block#=683,row#=0

相关文章

  • Oracle rowid 结构分析

    ROWID:数据库中行的全局唯一地址 ROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一...

  • 使用dbms_rowid恢复数据

    0. summary 1. dbms_rowid 2. 什么是rowid 2.1 rowid的概念 在oracle...

  • Oracle基础知识

    一、oracle名词介绍(1)Rowid:sql查询语句不带上Rowid字段,则不允许对查询结果进行更新操作。 二...

  • Oracle(RowNum和RowId)

    初识钟情,终于白首;眉眼如故,岁月如故 RowNum和RowId只有在Oracle数据库中才有。 RowNum: ...

  • Oracle

    1、oracle中的rowid(https://blog.csdn.net/weixin_44893467/art...

  • oracle rownum rowid使用场景

    rownum rowid rownum 分页

  • 二、ORACLE数据库体系结构

    1.Oracle体系结构概述 Oracle体结构中主要用于分析数据库的组成、工作过程与原理,以及数据在数据库中的组...

  • mysql中limit的用法

    在oracle中,我们要查看前100条记录,可以使用ROWID<=100。在mysql中就不适用了。 在mysql...

  • rownum、rowid、row_number()、rank()

    rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum则是sql的输出结果排序。通俗的...

  • 数据库之表连接

    一、rowid 和rownum1、rowidrowid是ORACLE在读取表中数据行时, 根据每一行数据的物理地址...

网友评论

      本文标题:Oracle rowid 结构分析

      本文链接:https://www.haomeiwen.com/subject/fknvsqtx.html