![]() |
1
2
在给定的Oracle版本中,物理rowid的大小是固定的,它不依赖于表中的行数。它由数据文件的编号、此文件中块的编号以及此块中的行的编号组成。因此,它在整个数据库中是唯一的,允许直接访问块和行,而无需进一步查找。 随着IT世界中的事物不断增长,可以安全地假设未来格式将发生变化。 除了卷之外,还有结构上的变化,如可传输表空间的出现,这使得有必要将对象编号(=表/分区/子分区的内部编号)存储在rowid中。 或者是索引组织表的出现(由@ibre5041提到),它看起来像一个表,但实际上只是一个没有这种物理地址的索引(因为索引中的事物总是在移动)。这使得有必要引入可以存储物理和基于索引的rowids。 请注意,rowid可以更改,例如,如果行从一个表分区移动到另一个表分区,或者如果对表进行碎片整理以填补许多删除操作留下的漏洞。 |
![]() |
2
1
根据 documentation rowid的长度为10字节:
Oracle还记录了(当前)格式,请参见, Rowid Format 通常,如果受影响的行是 锁定的 ! 因此,您的陈述如下:
看见 SELECT FOR UPDATE and FOR UPDATE Cursors
甲骨文甚至提供了一条捷径。而不是
|
![]() |
singh · 未配置oracle ssl安装程序 2 年前 |
![]() |
Eaxxx · 将函数重构为sql查询 6 年前 |
![]() |
brevleq · AWS DMS-迁移Oracle数据库时任务失败 6 年前 |
![]() |
muhammad obaid · 使用oracle数据库登录 6 年前 |
![]() |
Meqenaneri Vacharq · oracle循环排序 6 年前 |