データの圧縮
データ圧縮を使用して、表に必要なスペースを削減できます。 表スペース内のデータを圧縮するとデータの保管に必要なディスク・スペースの量が大幅に減る可能性があり、バッファー・プールのパフォーマンスの向上に役立つ可能性があります。
始める前に
FL 504TS_COMPRESSION_TYPEサブシステムパラメータは、サブシステムレベルで Db2 データを圧縮する際に使用されるデフォルトの圧縮アルゴリズムを指定します。
FL 509 ALTER TABLESPACE、CREATE TABLE、CREATE TABLESPACE文のCOMPRESSオプションは、テーブルスペースまたはパーティションレベルで Db2 データを圧縮する際に使用される圧縮アルゴリズムを定義することができます。
DSN1COMP ユーティリティーを使用して、データをどの程度圧縮できるかを調べることができます。
固定長圧縮の場合は、圧縮と圧縮解除の両方のCPUコストが、圧縮率の小さい方に増加します。 したがって、圧縮率、つまり圧縮によるスペースの節約率が10~20パーセント未満の場合は、圧縮の使用を避けるのが最善です。 圧縮と圧縮解除に追加の CPU コストがかかってしまうため、圧縮によるメリットは得られません。
一般に、Huffman圧縮は圧縮率を向上させますが、圧縮解除の場合は固定長よりもCPUコストが高くなります。
作業ファイル・データベース内で定義されている表スペース (宣言済み一時表のための表スペース) の中のデータは、圧縮できません。 
このタスクについて
データを圧縮すると、頻繁に発生するビット・ストリングが短いストリングで置き換えられます。 ビット・ストリングの置換ストリングへのマッピングについての情報は、コンプレッション・ディクショナリー に保管されます。 コンピューター処理は、データが保管される前にデータを圧縮し、バッファー・プール内のページから取り出されたデータを圧縮解除するために必要です。 多くの場合、COMPRESS 文節を使用するとデータを保管するのに
必要なディスク・スペースの量がかなり低減されますが、圧縮率は
データの特性によって異なります。
- バッファー・プールのヒット率の向上
- 入出力回数の減少
- ページ取得操作の減少
プロシージャー
データを圧縮するには、次のようにします。
以下のタスクのいずれかを完了する。- データを圧縮するには Db2 固定長圧縮を使用している場合は、 「固定長圧縮を使用したデータの圧縮」を参照してください。
- データを圧縮するには Db2 ハフマン圧縮を使用している場合は、 ハフマン圧縮を使用してデータを圧縮するを参照してください。
