Oracle 行链接(Row chaining)与行迁移(Row Migration)2022.9.13

一条数据过长不能插入一个单个数据块中时候,就会发生两种事情:行链接 或 行迁移

1.行链接

        Oracle 会使用该块链接的一块或者多块数据块来容纳改行的数据,行链接进厂插入比较大的数据时才会产生,经常发生行链接的数据类型:long,long row,lob 等数据类型

2.行迁移

当修改不是行链接的行时,修改后的长度大于修改前的行长度,并且改数据块中的空闲空间已经比较小不能完全容纳改行的数据,就会发生行迁移,这时候,Oracle 会将整行的数据迁移到一个新的数据块上,将原先的空间只一个指针,指向改行的新位置,原先空间剩余空间不在被数据块使用,剩余的空间称为 空洞

3.行链接和行迁移引起数据库性能下降的原因

引起多余的 i/o 造成的,通过索引访问已有的行迁移现象,数据库必须扫描一个以上的数据库才能检索到改行的数据 ,导致 插入 和 更新 的性能较差,需要执行额外的处理,利用索引查询已经链接和迁移的的行时候,select 语句的性能比较差,要执行额外的 i/o

4.预防 行链接 和 行迁移

数据块的 pctfree 调大

针对表空间扩大数据块大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值