Compression Evaluation

The TimesTen compression feature is supported only in TimesTen Classic and is not supported for tables cached from an Oracle database.

In addition to data type mapping, you can use the TimesTen in-memory compression feature to reduce memory usage and potentially improve query performance. This feature lets you compress individual columns or groups of columns within a table to significantly reduce memory usage. It uses a dictionary-based compression mechanism. TimesTen maintains a separate dictionary of unique values for each compressed column or column group. Each table row stores a pointer (index) to the corresponding value in the dictionary instead of storing the value directly. The size of the pointer depends on the maximum number of unique values (including NULL) stored in the dictionary and can be 1, 2, or 4 bytes. For example, if a CHAR (20) column can be replaced with a 2-byte pointer in each row, the resulting memory savings are substantial (for details, see TimesTen SQL Reference).

The ttImportFromOracle utility can analyze data in Oracle database tables to determine whether specific columns or tables would benefit from compression after the generated scripts load the data into a TimesTen database.

To configure this feature, use the -compression command-line option. The syntax is:
-compression level[,padding[,stats[,cfactor[,minrows]]]]