建表参数PCTFREE、PCTUSED、INITRANS和MAXTRANS释疑

PCTFREE与PCTUSED
建表时可以指定以上两个参数的值(整数),PCTFREE表示一个块中保留的剩余空间大小百分比,该保留空间主要用于已有记录的更

新操作;PCTUSED表示一个块中空间使用率小于该百分比时,该数据块才可被再次使用,它起作用的情况是:在一个块中数据填充量

已达到PCTFREE设定的值,此时该数据块不能再写入新的数据,若以后删除了该块中的一部分数据,但是空间使用率未能小于

PCTUSED的值,则该块仍然不能被再次使用,只有当空间使用率小于PCTUSED的值时,才可被再次使用。

INITRANS和MAXTRANS
INITRANS表示块首部中事务表的初始大小,该值影响着对表的事务并发访问(表默认是1,索引默认是2);MAXTRANS表示事务表的

最大值,Oracle10g中默认值是255。

附oracle官方文档关于PCTUSED参数解释:

The PCTUSED parameter sets the minimum percentage of a block that can be used for row data plus overhead before new rows are added to the block. After a data block is filled to the limit determined by PCTFREE, Oracle considers the block unavailable for the insertion of new rows until the percentage of that block falls beneath the parameter PCTUSED. Until this value is achieved, Oracle uses the free space of the data block only for updates to rows already contained in the data block.

原文地址:https://www.cnblogs.com/Before/p/2252778.html