DSNIZLDC

Module DSNIZLDC compresses a row using the Ziv-Lempel algorithm. This module is invoked when adding or updating a row on a tablespace for which 'COMPRESS YES' has been specified. Compression is only available for tablespaces and is not used on indexes.

Hints

Evaluate the effectiveness of compression in reducing DASD costs against the CPU cost associated with compressing and decompressing (DSNIZLDE) data by inspecting the PAGESAVE column of SYSIBM.SYSTABLEPART and the PCTROWCOMP columns on SYSIBM.SYSTABLES and SYSIBM.SYSTABSTATS.

The CPU cost for compression is proportional to the number of rows updated. Mass updates incur high CPU costs. The cost to compress rows is also higher for long rows since the bytes of the targeted string must be processed sequentially from beginning to end.

ESA data compression is not recommended for tablespaces with multiple tables because the compression dictionary may not represent an accurate sample of the data contained in the tablespace. A more accurate sample can be obtained using REORG instead of LOAD to create the dictionary.

Compression may also be ineffective when row lengths are

  • long because DB2 rows cannot span data pages or

  • already short enough to store 255 rows per page

Reference Sources

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