Oracle表壓縮
Oracle壓縮資料的處理基於資料庫塊,其本質上是透過消除在資料庫塊中的重複資料來實現空間節約,具體方法如下:比較資料塊中包含的所有欄位或記錄,其中重複的資料只在位於資料塊開始部分的記號表(Symbol Table)中儲存一份,在其他行或欄位出現同樣的資料時,只記錄一個指向記號表中相關資料的指標。
建立壓縮表:
create table Name(
......
) compress;
alter table Name compress;
alter table Name nocompress;
物化檢視的壓縮:
create materialized view ViewName compress
as select ......;
alter materialized view ViewName compress;
分割槽表的壓縮:
create table Name (
......
) compress
partition by ......;
create table Name (
......
)
partition by ......(
partition PartName ...... compress,
partition PartName ...... compress,
partition PartName ......
);
在表空間級別上定義壓縮屬性:
create tablespace ...... default compress;
alter tablespace ...... compress / nocompress;
當壓縮屬性被定義在表空間上時,在其中建立表時,該特性將被表繼承,但表級別的壓縮屬性會覆蓋表空間的壓縮屬性。
檢視一個表是否為壓縮表:
select compression from user_table where table_name=TableName;
檢視一個表空間是否被壓縮:
select def_tab_compression from dba_tablespace where tablespace_name=TablespaceName;
檢視分割槽表各分割槽的壓縮屬性:
select table_name, partition_name, compression from user_tab_partitions where table_name=TableName;
表壓縮的實現:
壓縮表的資料要能夠被壓縮,必須正確地使用批次裝載或插入:
1、在SQL * LOADER中使用直接路徑(direct path)裝載資料;
2、執行create table ... as select語句;
3、執行並行插入語句;
4、執行序列插入語句並且使用append提示。
alter table Name move compress / nocompress;
效能分析:
1、在批次裝載或插入資料的過程中,由於壓縮的同時進行,會引起CPU使用率提高,及導致裝載時間明顯增加。
2、對於普通的INSERT語句,由於沒有執行壓縮過程,效能幾乎沒有影響。
3、用DELETE語句刪除壓縮表的操作會比較快,主要是因為壓縮表中被壓縮行的資料比較小,相應的需要寫日誌的資料量也比較小。
4、更新壓縮的操作會比較慢,主要由於ORACLE對非壓縮表執行了一些最佳化。
5、在IO吞吐率受限制的系統執行大批次查詢,比如全表掃描,壓縮表將明顯提高查詢速度,主要由於壓縮後,查詢同樣的資料行只需要讀取更少的資料塊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-689361/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 表壓縮Oracle
- oracle壓縮表(一)Oracle
- oracle壓縮表(二)Oracle
- oracle 的表壓縮Oracle
- Oracle表的壓縮Oracle
- Oracle壓縮黑科技(一)—基礎表壓縮Oracle
- ORACLE 壓縮Oracle
- oracle 11g 新特性 表壓縮Oracle
- oracle (11gR2)中的表壓縮Oracle
- oracle 索引壓縮Oracle索引
- 表壓縮技術
- Oracle 表壓縮(Table Compression)技術介紹Oracle
- oracle 11g對於表壓縮改進Oracle
- MySQL 5.6的表壓縮MySql
- MYSQL壓縮表測試MySql
- Sqlserver表和索引壓縮SQLServer索引
- oracle壓縮技術Oracle
- Oracle資料壓縮Oracle
- 【表壓縮】使用表壓縮技術將表所佔用空間降低到最小
- Oracle壓縮黑科技(二)—壓縮資料的修改Oracle
- oracle10g表壓縮後的效率比對Oracle
- OGG Oracle 分割槽壓縮表 到 MySQL分表的實現OracleMySql
- myisampack工具(MyISAM表壓縮工具)
- Oracle——EXPDP加密和壓縮Oracle加密
- oracle壓縮表表空間Oracle
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- JAVA壓縮和解壓縮Java
- zip壓縮和解壓縮
- oracle 壓縮技術(compress)Oracle
- oracle compress壓縮小記Oracle
- ORACLE備份中的壓縮Oracle
- SQL Server 2008 表和索引的行壓縮和頁壓縮SQLServer索引
- linux壓縮解壓縮Linux
- 字串的壓縮和解壓縮字串
- MySQL壓縮表的一種應用MySql
- JS壓縮方法及批量壓縮JS
- aix 下壓縮與解壓縮AI
- linux壓縮和解壓縮命令Linux