ORACLE 数据块PCTFREE和PCTUSED

  • PCTFREE表示一个数据块可用空间小于PCTFREE时,该数据块不在被记录在FREELIST中,即不能插入新数据。
  • PCTUSED表示一个数据块已经用空间如果小于PCTUSED时,该数据块才会被重新记录在FREELIST中,可以插入新数据。

  举个例子:

  一个数据块的PCTFREE是10%,PCTUSED是40%。

  假如这个数据块可以存储100条记录。

  数据块没有数据的时候,是处于FREELIST中的。当数据插入到90条的时候,从FREELIST中移除,不能插入新数据。然后DELETE数据,当数据删除的少于40条的时候,该数据块重新加入到FREELIST中,又可以重新插入数据了。

  把PCTFREE调大有助于减少行迁移和行链接。

原文地址:https://www.cnblogs.com/wolil/p/5684721.html