Oracle行搬迁和行链接详解ITeye - 千亿集团

Oracle行搬迁和行链接详解ITeye

2019-01-11 14:03:55 | 作者: 瀚玥 | 标签: 搬迁,链接,发作 | 浏览: 1294



界说:

行搬迁:由于update、将行变长、本来的块现已放不下了、行被挪进新块、

行链接:行一开始就太大、比方你刺进了1w个字节的行、必需求分两个块寄存、

由此、行变长的时刻先后可作为判别根据

发作场景:

行搬迁

Oracle会将整行的数据搬迁到一个新的数据块上,而将该行原先的空间只放一个指针,指向该行的新的方位,而且该行原先空间的剩下空间不再被数据库运用,这些剩下的空间咱们将其称之为空泛,这便是发作表碎片的主要原因,表碎片基本上也是不可避免的,可是咱们能够将其降到一个咱们能够承受的程度。留意,即便发作了行搬迁,发作了行搬迁的行的rowid 仍是不会改变,这也是行搬迁会引起数据库I/O功能下降的原因。

行链接

oracle会运用与该块链接的一块或多块数据块来包容该行的数据。行衔接经常在刺进比较大的行时才会发作,如包括long, long row, lob等类型的数据。在这些状况下行链接是不可避免的。

影响DB performance的表现形式

读一行要读两个块,也便是要两次逻辑读

insert or update的功能比较差

使用索引查询已链接或搬迁的行的select句子的功能比较差,由于他们需求额定的I/O

怎么才干检测到行搬迁与行链接

SQL conn / as sysdba
Connected.

SQL @?/rdbms/admin/utlchain.sql

Table created.

SQL analyze table hr.DEPARTMENTS LIST CHAINED ROWS;

Table analyzed.

SQL select * from chained_rows;

no rows selected
别的,怎么获知行搬迁(行链接)严峻的表呢?

DBA_TABLES视图的CHAINED_CNT列,该列有该表的链接行计数。

虽然行搬迁与行链接是两个不同的工作,可是在oracle内部,它们被当作一回事。所以当你检测行搬迁与行链接时,你应该细心的剖析当时你正在处理的是行搬迁仍是行链接。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章