千家信息网

详解Oracle创建表的参数

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,详解Oracle创建表的参数create table mytable(id number(3),name varchar2(10))PCTFREE 20PCTUSED 70INITRANS 2MAXT
千家信息网最后更新 2024年11月23日详解Oracle创建表的参数

详解Oracle创建表的参数

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个数据,而且PCTFREE10PCTUSED40,则:不断的向块中插入数据,如果当存放到90个时,就不能存放新的数据,这是受pctfree来控制,预留的空间是给UPDATE用的。

当你删除一个数据后,再想插入个新数据行不行?不行,必须是删除41个,即低于40个以后才能插入新的数据的,这是受pctused来控制的。

INITTRANS:初始化事务槽的个数。

MAXTRANS:最大事务槽的个数。

这两个参数与事务并发数有关。并发量高的情况下,要适当调大INITTRANS的值。

STORAGE:存储参数

INITIAL:初始段大小,没具体指定单位时,默认单位为兆(B)。

NEXT:当初始段使用满后,对象进行扩展时每次扩展的空间大小,默认单位为兆(B)。

PCTINCREASE:每次增加的百分比。此参数最好为零,否则扩展的空间一次比一次大,呈等比数列增长,很危险。

MINEXTENTS:对象可扩展的最小扩展次数。

MAXEXTENTS:对象可扩展的最小扩展次数

0