【赵渝强老师】崖山数据库的行地址ROWID

简介: 崖山数据库ROWID伪列高度兼容Oracle,仅适用于HEAP堆表,代表行物理存储地址,为16字节二进制类型。支持SELECT查询与快速定位,但不可INSERT/UPDATE;提供DBMS_ROWID包解析,分布式场景不支持。(239字)

b475.png

崖山数据库的ROWID高度兼容Oracle语法,是HEAP堆表的伪列,代表行的物理存储地址,同时也是一种原生数据类型。

⚠️ 仅支持HEAP堆表;列存表、分布式部署场景不支持ROWID伪列。


视频讲解如下:


1. 基础概念

  • 伪列:不在表的字段定义中,select *不会返回,必须显式写select rowid查询;不能insert/update修改ROWID伪列。
  • 数据类型:ROWID类型固定占16字节二进制;UROWID通用ROWID变长1‑8000字节,用来存ROWID二进制,等价RAW类型。
  • 输出格式示例:1350:5:0:148:0,冒号分隔,和Oracle的18位Base64字符串格式不一样。

Oracle输出:AAAW78AABAAAFWXAAA(Base64串)

YashanDB输出:对象ID:文件号:段:块号:块内行号


2. ROWID结构

输出格式:ObjectId:FileId:SegId:BlockId:SlotId

配套包DBMS_ROWID,提供函数解析rowid,获取块号、文件号、行槽号,用法和Oracle的DBMS_ROWID兼容,分布式集群不可用。


3. 核心特性

  • 仅HEAP堆表生效:列存表、分布式表不能使用ROWID伪列;单机/共享集群HEAP表可用。
  • ROWID会变化的场景
  • 更新导致行迁移、行溢出;
  • ALTER TABLE MOVE、表重组、收缩;
    删除后新插入行可能复用旧ROWID。
  • 同一张HEAP表内部ROWID唯一;不同表ROWID可以重复,不能跨表做对比。
  • 可以把ROWID作为普通字段类型,建表时定义列类型为ROWID,用来存储行地址;Oracle不允许把ROWID作为字段类型,这是一个重要差异。
  • MySQL兼容模式下,伪列别名是__ysmy_rowid,Oracle模式直接使用ROWID关键字。


4. 常用SQL示例

-- 查询rowid伪列(Oracle兼容模式)
SQL> select rowid,deptno,dname from dept;
ROWID                                              DEPTNO DNAME         
-------------------------------------------- ------------ ------------- 
2821:4:0:132:0                                         10 ACCOUNTING   
2821:4:0:132:1                                         20 RESEARCH     
2821:4:0:132:2                                         30 SALES        
2821:4:0:132:3                                         40 OPERATIONS   
4 rows fetched.

-- 根据rowid快速定位行,查询性能极高
SQL> select deptno,dname from dept where rowid='2821:4:0:132:2';
      DEPTNO DNAME         
------------ ------------- 
          30 SALES        
1 row fetched.
相关文章
|
15天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
8208 18
|
14天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
2456 13
|
14天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1860 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
12天前
|
人工智能 编解码 并行计算
MiniMax-H3 一键整合包技术文档:8G 显存运行 AI 漫剧制作 —— 角色替换 / 动作迁移 / 文图生视频部署与调参指南
MiniMax H3 是 MiniMax 开源的全模态视频生成模型,支持文/图/音/视多条件输入,输出最高2K、15秒带双声道音频视频。本文档详述其Int8量化版在8GB显存下的本地一键部署、三段式工作流(EDIT/REPLACE/CONTINUE)、参数调优及常见问题排查。(239字)
|
8天前
|
人工智能 Linux 开发者
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
Codex是OpenAI推出的AI编程智能体,可读取本地项目、理解需求并自动修改代码。支持桌面GUI、命令行(CLI)及VS Code/Cursor插件三种形态,覆盖可视化操作、终端高效开发与编辑器无缝集成场景,助开发者用自然语言驱动编码全流程。(239字)
【2026国内使用】Codex安装过程一篇讲透(Win/Mac/Linux全支持)
|
8天前
|
人工智能 JSON 编解码
【2026最新版】ComfyUI本地部署教程,新手也能看懂!
ComfyUI是本地运行的AI绘画工具,采用节点式工作流设计:通过拖拽连接“加载模型”“提示词编码”“采样”“解码”等模块,实现高度可控的文生图。新手推荐使用秋叶整合包,一键启动、内置模型管理与插件安装器,轻松上手。(239字)
|
22天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
2417 1