Impact of classic table reorganization on table-level compression dictionaries

When you reorganize a table that you enabled for adaptive compression or classic row compression using classic, offline table reorganization, you can retain the table-level compression dictionary or force the database manager to create a new one.

In Db2® Version 9.5 and later, a table-level compression dictionary is automatically created for a table that you enable for adaptive or classic row compression by using the CREATE TABLE or ALTER TABLE statement with the COMPRESS YES subclause. For a new table, the database manager waits until the table grows to a minimal size before creating the dictionary. For an existing table, the compression dictionary is created when the table grows to a sufficient size to allow pattern repetition to become apparent. Compression is applied only to rows that you insert or update after enabling compression.

If you reorganize a table with a classic table reorganization, and a table-level compression dictionary exists, the KEEPDICTIONARY parameter of the REORG TABLE command is applied implicitly, which retains the dictionary. When you perform the reorganization, all the rows that are processed are subject to compression using that dictionary. If a compression dictionary does not exist and if the table is large enough, a compression dictionary is created, and the rows are subject to compression using that dictionary.

You can force a new table-level compression dictionary to be built by performing a classic table reorganization that uses the RESETDICTIONARY parameter of the REORG TABLE command. When you specify the RESETDICTIONARY parameter, a new compression dictionary is built if there is at least one row in the table, replacing any existing dictionary.
Note: Table-level dictionaries can be rebuilt using only classic table reorganization.