oracle 之pctfree&pctused

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

你可能感兴趣的:(oracle)