oracle 中的pctused、pctfree、inittrans、MAXTRANS、FREELIST GROUPS 和FREELISTS參數
prompt
prompt Creating table CONFIGURATIONTASK
prompt ================================
prompt
create table CONFIGURATIONTASK
(
TASKID VARCHAR2(20) not null,
TASKNAME VARCHAR2(20) not null,
TASKTYPE VARCHAR2(20) not null,
FILETYPE VARCHAR2(20) not null,
OPERATOR VARCHAR2(20) not null
)
tablespace CDB_CONFIG
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
alter table CONFIGURATIONTASK
add primary key (TASKID)
using index
tablespace CDB_CONFIG_INDEX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
create unique index SYS_C0050000 on CONFIGURATIONTASK (TASKNAME)
tablespace CDB_CONFIG_INDEX
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
用CREATE 命令的pctused、pctfree、inittrans、MAXTRANS、FREELIST GROUPS 和FREELISTS參數來控制表、索引或簇的數據塊中的空間使用。
可使用PCTFREE和PCTUSED參數控制數據塊何時進入或離開表、索引或簇的可用清單。使用PCTFREE參數設置最大的閾值,以控制對將來的行的更新操作保留多少數據塊空間。當某個數據塊使PCTFREE裝滿時,ORACLE從相應段的可用清單中刪除該塊。如果你預計只有很少的更新操作會增加行的大小,則可將PCTFREE設置為較低的值(如5或者10),使得ORACLE填滿每個塊的更多的空間。但是,如果你預計更新操作將會經常增加行的大小,則將PCTFREE設置為較高的值(如20或30),使得ORACLE為已有行的更新操作保留更多的塊空間;否則,將出現行鏈。
可使用PCTUSED參數設置最小塊的閾值來控制一個數據塊應在何時放回到相應段的可用清單中。例如,所有段的缺省PCTUSED設置為40%,因此,當事務處理刪除數據塊中的行時,如果它只有39%是裝滿的,ORACLE將該數據塊放回到相應段的可用清單中。如果你預計很少有刪除操作,則可設置PCTUSED為較高的值(如60),當偶然的刪除操作發生時,使數據塊彈出可用清單。但是,如果你預計將PCTUSED 設置為較低的值(如40),使ORACLE不常產生塊在表的可用空間中移進或移出的開銷。
可使用INITRANS和MAXTRANS參數優化ORACLE如何在表、數據簇或索引的數據塊中分配事務處理項。INITRANS參數確定為事務處理項預分配多少數據塊頭部的空間。當您預計有許多並發事務處理要涉及某個塊時,可為相關的事務處理項預分配更多的空間,以避免動態分配該空間的開銷。MAXTRANS參數限制並行使用某個數據塊的事務處理的數量。當您預計有許多事務處理將並行訪問某個小表時,則當創建表時,應設置該表的事務處理項預分配更多的塊空間,較高的MAXTRANS 參數值允許許多事務處理並行訪問該表INITRANS和MAXTRANS 參數的設置可能相應低一些(如分別為2和5)。使用這樣的設置,很少為事務處理項保留窨,使該表數據塊的更多空間用於數據。
可使用STORAGE子句的FREELIST GROUPS 參數控制段的可用清單組的數據量。使用
本文來自CSDN博客,轉載請標明出