create table mytable
(
id number(3),
name varchar2(10)
)
PCTFREE 20
PCTUSED 70
INITRANS 2
MAXTRANS 255
TABLESPACE users
STORAGE
(
INITIAL 102400
NEXT 102400
PCTINCREASE 0
MINEXTENTS 1
MAXEXTENTS 102400
);
参数说明:
PCTFREE
:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert
,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert
了,只能被用于update
;即:当使用一个block
时,在达到pctfree
之前,该block
是一直可以被插入的,这个时候处在上升期。
PCTUSED
:是指当块里的数据低于多少百分比时,又可以重新被insert
,一般默认是40,即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期。
举例说明
假设你一个块可以存放100个数据,而且PCTFREE
是10,PCTUSED
是40,则:不断的向块中插入数据,如果当存放到90个时,就不能存放新的数据,这是受pctfree
来控制,预留的空间是给UPDATE
用的。
当你删除一个数据后,再想插入个新数据行不行?不行,必须是删除41个,即低于40个以后才能插入新的数据的,这是受pctused
来控制的。
INITTRANS
:初始化事务槽的个数。
MAXTRANS
:最大事务槽的个数。
这两个参数与事务并发数有关。并发量高的情况下,要适当调大INITTRANS
的值。
STORAGE
:存储参数
INITIAL
:初始段大小,没具体指定单位时,默认单位为兆(B)。
NEXT
:当初始段使用满后,对象进行扩展时每次扩展的空间大小,默认单位为兆(B)。
PCTINCREASE
:每次增加的百分比。此参数最好为零,否则扩展的空间一次比一次大,呈等比数列增长,很危险。
MINEXTENTS
:对象可扩展的最小扩展次数。
MAXEXTENTS
:对象可扩展的最小扩展次数