DSNIZLDE

Module DSNIZLDE decompresses a row which was compressed on a tablespace with 'COMPRESS YES' specified. This module is invoked when reading or updating a row. Compression is only applied to tablespaces, therefore this module will not be invoked for index space accesses.

Hints

If possible, retrieve the desired data through an INDEX ONLY access. INDEX ONLY access does not require decompression because index spaces are not compressed.

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

The CPU cost for decompression is proportional to the number of rows retrieved. Tablespace scans incur high CPU costs. The cost to decompress 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 by 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