oracle pct-free,oracle性能调整- pctfree pctused

一、定义

1、PCTFREE、PCTUSED使你能控制一个segment里所有数据块里free space的使用。

PCTFREE:一个数据块保留的用于块里已有记录的可能更新的自由空间占block size的最小比例。

PCTUSED:在新记录被插入block里之前这个block可以用于存储行数据和其他信息的空间所占的最小比率。

2、这两个参数的使用

如果创建表的时候指定pctfree=20%,oracle会在这个表的data segment的每个block都保留20%的空间用于已有记录的更新。Block的已使用空间上升到整个block size的80%时,这个block将移出free list;在提交了delete、update之后,oracle server处理这条语句并检查对应block的已使用空间是否低于PCTUSED,如果是,则这个block放进free list。

3、PCTFREE、PCTUSED的设定

• PCTFREE

– Default 10

– Zero if no UPDATE activity

– PCTFREE = 100 × upd / (average row length)

• PCTUSED

– Default 40

– Set if rows deleted

– PCTUSED = 100 – PCTFREE – 100 × rows × (average row length) / blocksize

其中,upd : the average amount added by updates, in bytes。This is determined by subtracting the average row length of intercurrent average row length;

average row length:在运行了analyize命令之后,这个值可以从dba_tables中的avg_row_len列中获得。

rows : the number of rows to be deleted before free list maintenance occurs。

4、Delete、update可以增加block的自由空间,但是释放出来的空间有可能是不连续的,oracle在下列情况下会对碎片进行整理:一个block有足够的自由空间容纳row piece,但是由于每个碎片都较小以至这个row piece不能存放在一个连续的section中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值