データの圧縮

データ圧縮を使用して、表に必要なスペースを削減できます。 表スペース内のデータを圧縮するとデータの保管に必要なディスク・スペースの量が大幅に減る可能性があり、バッファー・プールのパフォーマンスの向上に役立つ可能性があります。

始める前に

FL 504TS_COMPRESSION_TYPEサブシステムパラメータは、サブシステムレベルで Db2 データを圧縮する際に使用されるデフォルトの圧縮アルゴリズムを指定します。

FL 509 ALTER TABLESPACE、CREATE TABLE、CREATE TABLESPACE文のCOMPRESSオプションは、テーブルスペースまたはパーティションレベルで Db2 データを圧縮する際に使用される圧縮アルゴリズムを定義することができます。

変更の開始DSN1COMP ユーティリティーを使用して、データをどの程度圧縮できるかを調べることができます。変更の終わり

変更の開始固定長圧縮の場合は、圧縮と圧縮解除の両方のCPUコストが、圧縮率の小さい方に増加します。 したがって、圧縮率、つまり圧縮によるスペースの節約率が10~20パーセント未満の場合は、圧縮の使用を避けるのが最善です。 圧縮と圧縮解除に追加の CPU コストがかかってしまうため、圧縮によるメリットは得られません。変更の終わり

変更の開始一般に、Huffman圧縮は圧縮率を向上させますが、圧縮解除の場合は固定長よりもCPUコストが高くなります。変更の終わり

変更の開始作業ファイル・データベース内で定義されている表スペース (宣言済み一時表のための表スペース) の中のデータは、圧縮できません。 変更の終わり

このタスクについて

変更の開始データを圧縮すると、頻繁に発生するビット・ストリングが短いストリングで置き換えられます。 ビット・ストリングの置換ストリングへのマッピングについての情報は、コンプレッション・ディクショナリー に保管されます。 コンピューター処理は、データが保管される前にデータを圧縮し、バッファー・プール内のページから取り出されたデータを圧縮解除するために必要です。 多くの場合、COMPRESS 文節を使用するとデータを保管するのに 必要なディスク・スペースの量がかなり低減されますが、圧縮率は データの特性によって異なります。変更の終わり

圧縮されたデータでは、SQL ワークロードと圧縮量によって、 以下のようなパフォーマンス上の効果が期待できます。
  • バッファー・プールのヒット率の向上
  • 入出力回数の減少
  • ページ取得操作の減少

プロシージャー

データを圧縮するには、次のようにします。

変更の開始以下のタスクのいずれかを完了する。変更の終わり