oracle 之pctfree&pctused

本文深入探讨了PCTFREE和PCTUSED在数据库管理中的作用,解释了如何通过合理设置这些参数来优化数据存储效率和提高查询性能。通过实例分析,读者可以了解到如何在创建表时利用这些参数来实现数据的有效管理和空间利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pctfree:在块上保留多少空间用以以后数据的更新。如果自由空间的百分比高于pctfree的设置,那么这个块就是“自由块”。默认值为10%。

pctused:如果在块上插入数据,然后又经过删除数据,这个时候如果块数据占有块空间的百分比低于pctused,那么这个块就是“自由块”。


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

 

计算公式:

    PCTFREE=(Average Row Size-Initial Row Size)*100/Average Row Size
    PCTUSED=(100-PCTFREE) -Average Row Size * 100/Availabe Data Space

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值