資料庫表--heap organized table
增加資料時,會使用段中找到的第一個能放下此資料的自由空間。刪除資料後,允許以後的insert、update重用這部分空間。可以將堆組織表看做是一個很大的無序行集合。
如下方法可以瞭解給定表的create table語句中主要有哪些選項:
JEL@JEL >create table test ( x int primary key,y date,z clob);
JEL@JEL >select dbms_metadata.get_ddl('TABLE','TEST') from dual;
DBMS_METADATA.GET_DDL('TABLE','TEST')
--------------------------------------------------------------------------------
CREATE TABLE "JEL"."TEST"
( "X" NUMBER(*,0),
"Y" DATE,
"Z" CLOB,
PRIMARY KEY ("X")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "SYSTEM" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
DBMS_METADATA.GET_DDL('TABLE','TEST')
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "SYSTEM"
LOB ("Z") STORE AS (
TABLESPACE "SYSTEM" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
NOCACHE LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))
freelists--僅適用於MSSM。每個表都會在一個freelist上管理堆中分配的塊,一個表可以有多個freelist。如果有多個使用者併發對錶執行插入操作,配置多個freelist會改善效能,但要以額外的儲存空間為代價。
pctfree--ASSM和MSSM都適用。這個引數用於控制能否將一行增加到一個塊上和控制因後續更新導致的行遷移
pctused--僅適用於MSSM。度量一個塊什麼時候才能插入行。如果塊中已經用的空間小於pctused,就可以插入行
initrans--ASSM和MSSM都適用。為塊初始分配的事物槽。設定太低,肯能導致多個使用者訪問一個塊的併發問題。
注意,LOB段中的LOB資料並不適用pctfree/pctused引數設定。這些lob塊總會填入資料,直到達到最大容量,而且僅當完全為空時才返回freelist
堆表具有的唯一優點是 插入資料不需要採取任何措施,只需要順其自然地安裝插入的順序儲存,減少了插入大量資料的代價.
如下方法可以瞭解給定表的create table語句中主要有哪些選項:
JEL@JEL >create table test ( x int primary key,y date,z clob);
JEL@JEL >select dbms_metadata.get_ddl('TABLE','TEST') from dual;
DBMS_METADATA.GET_DDL('TABLE','TEST')
--------------------------------------------------------------------------------
CREATE TABLE "JEL"."TEST"
( "X" NUMBER(*,0),
"Y" DATE,
"Z" CLOB,
PRIMARY KEY ("X")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "SYSTEM" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
DBMS_METADATA.GET_DDL('TABLE','TEST')
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "SYSTEM"
LOB ("Z") STORE AS (
TABLESPACE "SYSTEM" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
NOCACHE LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))
freelists--僅適用於MSSM。每個表都會在一個freelist上管理堆中分配的塊,一個表可以有多個freelist。如果有多個使用者併發對錶執行插入操作,配置多個freelist會改善效能,但要以額外的儲存空間為代價。
pctfree--ASSM和MSSM都適用。這個引數用於控制能否將一行增加到一個塊上和控制因後續更新導致的行遷移
pctused--僅適用於MSSM。度量一個塊什麼時候才能插入行。如果塊中已經用的空間小於pctused,就可以插入行
initrans--ASSM和MSSM都適用。為塊初始分配的事物槽。設定太低,肯能導致多個使用者訪問一個塊的併發問題。
注意,LOB段中的LOB資料並不適用pctfree/pctused引數設定。這些lob塊總會填入資料,直到達到最大容量,而且僅當完全為空時才返回freelist
堆表具有的唯一優點是 插入資料不需要採取任何措施,只需要順其自然地安裝插入的順序儲存,減少了插入大量資料的代價.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29337971/viewspace-1062712/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫表--index organized table資料庫IndexZed
- 索引組織表(index organized table ,IOT)索引IndexZed
- 資料庫表--nested table資料庫
- 資料庫表--temporary table資料庫
- 資料庫表--object table資料庫Object
- 資料庫表--external table資料庫
- 資料庫表--index clustered table資料庫Index
- 資料庫表--hash clustered table資料庫
- 資料庫表--sorted hash clustered table資料庫
- [Oracle] Partition table exchange Heap tableOracle
- Oracle Index-organized table (IOT)概述OracleIndexZed
- 簡述Oracle IOT(Index Organized Table)(上)OracleIndexZed
- 簡述Oracle IOT(Index Organized Table)(下)OracleIndexZed
- 簡述Oracle IOT(Index Organized Table)(中)OracleIndexZed
- Index-Organized Table Applications (236)IndexZedAPP
- 【移動資料】External Table 外部表
- 資料結構 - 堆(Heap)資料結構
- B-tree Indexes on UROWID Columns for Heap- and Index-Organized Tables (235)IndexZed
- 資料庫 sqlite3_get_table,sqlite3_free_table資料庫SQLite
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 資料結構之堆(Heap)資料結構
- 資料庫升級後‘PLAN_TABLE資料庫
- 建立資料庫表資料庫
- 資料庫分庫分表資料庫
- REORG TABLE命令最佳化資料庫效能資料庫
- javascript: 帶分組資料的Table表頭排序JavaScript排序
- 恢復被執行truncate table的表資料
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 更改資料庫表名資料庫
- 資料庫表設計資料庫
- 資料庫 建立 3表資料庫
- mybatis進行資料庫建表 CREATE command denied to user 'root'@'127.0.0.1' for table 問題MyBatis資料庫127.0.0.1
- Butler - TOP(Table-Oriented Programming)面向表程式設計的資料庫開發框架程式設計資料庫框架
- 調研azkaban內部資料庫幾張table資料庫
- MySQL資料庫出錯:Table ... is marked as crashed and should be repairedMySql資料庫AI
- 資料庫審計(create/alter/drop table、user、tablespace)資料庫