oracle IOT表學習
IOT: Index-Organized Table
索引組織表
含義即將表結構整體放入索引中,且是按照主鍵進行排序的。
建立:
create table emp_iot(
emp_no int,
emp_name varchar2(100),
dept_no int,
salary number(10,2),
constraint pk_empi primary key(emp_no, emp_name, dept_no))
organization index
[pctthreshold n/including colname] overflow tablespace fund_index;
引數:
pctthreshold: 溢位閥值。指定當塊中的使用空間達到該值時,將溢位的資料存放到另外的段上。由引數overflow指定。
including:指定在哪個欄位以後的欄位放入溢位段。由引數overflow指定溢位的表空間。
分析該表的壓縮度:
analyze table emp_iot validate structure cascade;
or
analyze index pk_empi validate structure;
檢視分析結果
--將表改為非壓縮模式:
SQL> alter table iot move nocompress;
Table altered
--分析索引
SQL> analyze index pk_iot validate structure;
Index analyzed
檢視分析結果:
SQL> select ie.name, ie.used_space, ie.used_space*(1-ie.opt_cmpr_pctsave/100) after_compress,
2 ie.pct_used, ie.opt_cmpr_count, ie.opt_cmpr_pctsave
3 from index_stats ie
4 /
NAME USED_SPACE AFTER_COMPRESS PCT_USED OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
------------------------------ ---------- -------------- ---------- -------------- ----------------
PK_IOT 2672239 1870567.3 90 2 30
欄位used_space標識該索引使用了多少空間。
opt_cmpr_count是一個壓縮建議值,表明壓縮度為2時,可以節約30%的空間。
也就是壓縮後空間可減少到:used_space*(1-30%),即:1870567.3
現在將壓縮度改至2,看結果如何:
SQL> alter table iot move compress 2;
Table altered
--分析索引
SQL> analyze index pk_iot validate structure;
Index analyzed
--檢視壓縮結果:
SQL> select ie.name, ie.used_space, ie.used_space*(1-ie.opt_cmpr_pctsave/100) after_compress,
2 ie.pct_used, ie.opt_cmpr_count, ie.opt_cmpr_pctsave
3 from index_stats ie
4 /
NAME USED_SPACE AFTER_COMPRESS PCT_USED OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
------------------------------ ---------- -------------- ---------- -------------- ----------------
PK_IOT 1858487 1858487 89 2 0
可以看到現在已經壓縮到1858487,與之前計算的1870567.3的估計值很接近。
壓縮IOT不僅可以節省空間,還可以加快SQL語句的執行速度。
缺點就是在建立或壓縮的時候需要佔用比不壓縮更多的CPU和時間。
但是從長遠來看,這種消耗實際上是值得的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12932950/viewspace-629852/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 索引組織表(IOT)Oracle索引
- oracle iot索引組織表(一)Oracle索引
- oracle iot索引組織表(二)Oracle索引
- Oracle外部表學習Oracle
- oracle學習(建立表)Oracle
- ORACLE學習之外部表Oracle
- oracle 聚簇表學習Oracle
- oracle分割槽表學習(四)Oracle
- oracle分割槽表學習(三)Oracle
- oracle分割槽表學習(二)Oracle
- oracle分割槽表學習(一)Oracle
- Oracle傳輸表空間學習Oracle
- 學習oracle動態效能表--v$transactionOracle
- oracle外部表的測試學習 (轉)Oracle
- 學習Oracle的索引、表的儲存Oracle索引
- oracle分割槽表學習及應用Oracle
- oracle TSPITR with IOTOracle
- oracle-tom-table-iotOracle
- oracle臨時表的經典學習資料Oracle
- 深入學習Oracle分割槽表及分割槽索引Oracle索引
- (轉):學習Oracle動態效能表-(12)-V$PROCESSOracle
- (轉):學習Oracle動態效能表-(10)-V$FILESTATOracle
- (轉):學習Oracle動態效能表-(8)-V$SESSIONOracleSession
- (轉):學習Oracle動態效能表-(5)-V$SESSTATOracle
- (轉)學習Oracle動態效能表-(4)-V$SYSSTATOracle
- (轉):學習Oracle動態效能表-(2)-V$SQLTEXTOracleSQL
- (轉):學習Oracle動態效能表-(1)-V$SQLAREAOracleSQL
- (轉):學習Oracle動態效能表-(21)-V$UNDOSTATOracle
- (轉):學習Oracle動態效能表-(19)-v$rowcacheOracle
- (轉):學習Oracle動態效能表-(18)-V$ROLLSTATOracle
- Oracle學習Oracle
- Oracle學習系列—Oracle表空間和使用者的手工建立Oracle
- (轉):學習Oracle動態效能表-(22)-V$WAITSTATOracleAI
- 索引組織表(index organized table ,IOT)索引IndexZed
- Oracle Index-organized table (IOT)概述OracleIndexZed
- 【深度學習】深度解讀:深度學習在IoT大資料和流分析中的應用深度學習大資料
- Oracle外部表學習及Ora-01846問題Oracle
- (轉):學習Oracle動態效能表-(7)-V$SQLTEXT,V$SQLAREAOracleSQL