DSNIZLDC
モジュールDSNIZLDCは、Ziv-Lempelアルゴリズムを使用して行を圧縮します。このモジュールは、'COMPRESS YES'が指定されている表スペースの行の追加、または更新時に呼び出されます。圧縮は表スペースでのみ使用可能です。索引では使用されません。
ヒント
圧縮によるDASDコスト削減の効果を、データの圧縮と解凍(DSNIZLDE)に関連するCPUコストと比較して評価してください。SYSIBM.SYSTABLEPARTのPAGESAVE列と、SYSIBM.SYSTABLESとSYSIBM.SYSTABSTATSのPCTROWCOMP列を検査します。
圧縮にかかるCPUコストは、更新された行の数に比例します。一括更新を実行すると、CPUコストの負担が大きくなります。行の圧縮にかかるコストは長い行の場合も高くなります。これは、対象ストリングのバイトが先頭から末尾まで順に処理される必要があるためです。
ESAデータの圧縮は、複数の表を持つ表スペースにはお勧めできません。圧縮ディクショナリーが、表スペースに含まれるデータの正確なサンプルを表さない場合があるためです。LOADの代わりにREORGを使用してディクショナリーを作成すると、より正確なサンプルを取得できます。
行の長さが以下のような場合も、圧縮が無効になる可能性があります。
-
DB2の行でデータ ページをスパンできないために行が長い場合
-
ページ当たり255行を保存するのに十分な長さである場合
参考資料
『IBM Db2 for OS/390, Messages and Codes(GC26-8979)』
『IBM Db2 for OS/390, Application Programming and SQL Guide(SC26-8958)』
『IBM Db2 for OS/390, Administration Guide(SC26-8957)』