>> i's SQUARE >> Oracleのノウハウ >> Oracleのテーブル圧縮

Oracleのテーブル圧縮



Oracleの「Enterprise Edition版」ではデータを圧縮する機能が標準でついてます。

この機能を利用すると、DBを1/2〜1/4くらい圧縮する事が可能で、 更にテーブル毎に圧縮ができ、 圧縮してもデータ追加(INSERT)、データ削除(DELETE)、データ更新(UPDATE)、 インデックス作成など全てのDB機能が通常通り使えます。
もちろんDBリンク経由で、下位バージョンから圧縮テーブルにアクセスする事も可能です。

このため、特にデータ蓄積・参照系のテーブルで効果が期待できます!



テーブルを圧縮するには、以下のコマンドを圧縮したいテーブルに対して実行すればOKです★

▼テーブル作成時に圧縮属性を指定
Create Table 新規テーブル名 (
 テーブル項目の定義
)
Compress;

もしくはテーブル作成後に以下を実行する
Alter table 圧縮したいテーブル名 Compress;


▼データの存在する既存テーブルを圧縮
Alter table 圧縮したいテーブル名 Move Compress;


▼テーブル属性の確認方法
Select table_name, compression From User_tables;

compression が「DISABLED」なら非圧縮、「ENABLED」なら圧縮テーブル★



◆メリット
・DB容量が1/2〜1/4に圧縮される
・検索(SELECT)が早くなる(約3〜4倍)
・データ削除(DELETE)が約10%早くなる


◆デメリット
・データ更新(UPDATE)が約10%遅くなる


たったのひとことが人の心に温かみを与え、
たったのひとことで人の心を傷つける。