刘艳兵-DBA033-如下那种应用场景符合Oracle ROWID存储规则?

如下那种应用场景符合Oracle ROWID存储规则?

A 物理ROWID是在同一个数据库中(DATABASE级)唯一标识一行的数据地址,且可转换输出文件号、块号、对象号等信息。

B 对堆表执行更新(UPDATE SQL)触发行迁移时,物理ROWID会变化。

C 使用ALTER TABLE ... MOVE命令移动堆表存储时ROWID发生变化,表中B-Tree索引状态变为不可用(UNUSABLE)。

D 用SQL查询ROWID时,索引组织表返回逻辑ROWID,堆表返回物理ROWID。

答:

A 物理ROWID是在同一个数据库中(DATABASE级)唯一标识一行的数据地址,且可转换输出文件号、块号、对象号等信息。

C 使用ALTER TABLE ... MOVE命令移动堆表存储时ROWID发生变化,表中B-Tree索引状态变为不可用(UNUSABLE)。

D 用SQL查询ROWID时,索引组织表返回逻辑ROWID,堆表返回物理ROWID。

选项分析

A选项- 物理ROWID确实是在数据库级别唯一标识一行的数据地址,并且它可以通过一定的方式转换输出文件号、块号、对象号等信息,这是符合Oracle ROWID存储规则的,所以A选项正确。

B选项- 当对堆表执行更新触发行迁移时,Oracle会使用一种称为"行迁移"的机制来处理,在这种情况下,原来的ROWID不会变化,只是会在新的位置留下一个指针指向原来的行,所以B选项不符合Oracle ROWID存储规则。

C选项- 当使用ALTER TABLE... MOVE命令移动堆表存储时,表的存储位置发生了改变,ROWID会发生变化,而且由于表的存储结构改变,基于原存储结构的B-Tree索引状态会变为不可用(UNUSABLE),这是符合Oracle ROWID存储规则的,所以C选项正确。

D选项- 在Oracle中,用SQL查询ROWID时,索引组织表返回逻辑ROWID,堆表返回物理ROWID,这是符合其存储规则的常见查询结果,所以D选项正确。

相关推荐
杨靳言先3 小时前
✨【运维实战】内网服务器无法联网?巧用 SSH 隧道实现反向代理访问公网资源 (Docker/PortForwarding)
服务器·docker·ssh
二哈喇子!3 小时前
MySQL数据更新操作
数据库·sql
二哈喇子!3 小时前
MySQL命令行导入数据库
数据库·sql·mysql·vs code
心动啊1213 小时前
SQLAlchemy 的使用
数据库
yanyu-yaya4 小时前
前端面试题
前端·面试·前端框架
曾经的三心草5 小时前
redis-2-数据结构内部编码-单线程-String命令
数据结构·数据库·redis
二哈喇子!5 小时前
基于SSM框架的公交车查询系统的设计与实现
java·数据库·ssm
Coder_Boy_5 小时前
基于SpringAI的在线考试系统-智能考试系统-学习分析模块
java·开发语言·数据库·spring boot·ddd·tdd
阿杰 AJie5 小时前
MySQL 聚合函数总表(完整版)
数据库·mysql
玄同7656 小时前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp