詳解Oracle建立表的引數

zhenghaishu發表於2015-12-06

詳解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個資料,而且PCTFREE 10PCTUSED40,則:不斷的向塊中插入資料,如果當存放到90個時,就不能存放新的資料,這是受pctfree來控制,預留的空間是給UPDATE用的。

當你刪除一個資料後,再想插入個新資料行不行?不行,必須是刪除41個,即低於40個以後才能插入新的資料的,這是受pctused來控制的。

 

INITTRANS:初始化事務槽的個數。

MAXTRANS:最大事務槽的個數。

這兩個引數與事務併發數有關。併發量高的情況下,要適當調大INITTRANS的值。

 

STORAGE:儲存引數

  INITIAL:初始段大小,沒具體指定單位時,預設單位為兆(B)。

  NEXT:當初始段使用滿後,物件進行擴充套件時每次擴充套件的空間大小,預設單位為兆(B)。

  PCTINCREASE:每次增加的百分比。此引數最好為零,否則擴充套件的空間一次比一次大,呈等比數列增長,很危險。

  MINEXTENTS:物件可擴充套件的最小擴充套件次數。

  MAXEXTENTS:物件可擴充套件的最小擴充套件次數

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1866994/,如需轉載,請註明出處,否則將追究法律責任。

相關文章