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
- 壓縮錶轉非壓縮表(線上重定義)
- MySQL 5.6的表壓縮MySql
- Sqlserver表和索引壓縮SQLServer索引
- MYSQL壓縮表測試MySql
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- Oracle RMAN備份以及壓縮原理分析Oracle
- Oracle Hybrid Columnar Compression(HCC) 混合列壓縮Oracle
- 檔案壓縮和解壓縮
- Oracle表空間收縮方案Oracle
- Python實現壓縮和解壓縮Python
- linux下壓縮解壓縮命令Linux
- linux壓縮和解壓縮命令整理Linux
- JS壓縮方法及批量壓縮JS
- Linux tar分卷壓縮與解壓縮Linux
- 簡單瞭解一下壓縮表
- MySQL實現MYISAM表批次壓縮的方法MySql
- Linux壓縮解壓Linux
- CentOS 壓縮解壓CentOS
- linux 高效壓縮工具之xz的壓縮解壓使用Linux
- Linux中檔案的壓縮和解壓縮Linux
- 打包/壓縮
- Gzipped 壓縮
- linuxtar解壓和壓縮Linux
- linux分卷壓縮解壓Linux
- 當mysql表從壓縮表變成普通表會發生什麼MySql
- 壓縮包格式有哪些?壓縮包格式大全
- ppt怎麼壓縮,ppt壓縮的技巧分享
- 壓縮Word,一鍵實現Word文件壓縮
- 分卷壓縮怎麼解壓 快速解壓電腦分卷壓縮檔案方法
- 【RESIZE】Oracle收縮表空間主要命令Oracle
- Linux下的tar壓縮解壓縮命令詳解Linux
- Linux 常用的壓縮與解壓縮命令詳解Linux
- 【Linux基礎】壓縮和解壓Linux
- Linux打包壓縮解壓工具Linux
- .NET 壓縮/解壓檔案
- Keka for Mac(壓縮解壓工具)Mac