データ圧縮に関するパフォーマンス上の影響

多くの場合、表スペースにあるデータを圧縮すると、データの格納に必要となるディスク・スペース量を著しく減少させることができます。 また、データを圧縮すると、バッファー・プールのパフォーマンスを改善するのにも役立ちます。 例えば、より多くのデータをバッファー・プールに保管することができ、 Db2 は大量のデータをより簡単にスキャンすることができます。

圧縮されたデータを使用した場合、パフォーマンスの改善度は SQL ワークロードおよび圧縮量により異なります。 以下のようないくつかの恩恵を受けることができる可能性あります。

  • より高いバッファー・プール・ヒット率。 このヒット率とは、入出力操作を必要とせずにページにアクセスできる確率を測定したものです。
  • Db2 がデータページにアクセスする操作が減少する。

達成する圧縮率は、データの特性と、使用されている圧縮のタイプによって異なります。 圧縮は、大規模な表スペースに対して効果がある可能性があります。 小規模な表スペースの場合、データ圧縮処理にかかるコストの方が、圧縮によるスペース節約メリットより大きくなる可能性があります。

固定長圧縮を使用してデータを圧縮するかどうかを決定する際には、以下の要因を考慮してください:

  • Db2 データを1行ずつ圧縮します。 Db2 がその行の圧縮による節約がないと判断した場合、その行は圧縮されません。 平均の行の長さが実際のページ・サイズに近ければ近いほど、圧縮の効果は少なくなる可能性があります。
  • データを圧縮すると、処理時間がかかります。 データ圧縮解除はデータ圧縮よりも負担は少ないですが、全体のコストはお客様のデータのパターンにより異なります。

圧縮率が 10% より少ない場合、圧縮のメリットはなく、圧縮することはお勧めできません。

Db2 が固定長圧縮を使用している場合は、DSN1COMP ユーティリティーを使用して、データ圧縮の有効性を判別することができます。

Db2 が固定長圧縮を使用している場合は、CREATE TABLESPACE ステートメントおよび ALTER TABLESPACE ステートメントの COMPRESS 節を使用して、表スペース内のデータ、パーティション化表スペースのパーティション内のデータ、または索引内のデータを圧縮します。

もし Db2 ハフマン圧縮を使用している場合は、 データの圧縮の詳細については、「データの圧縮」を参照してください。