Indexes and Compression

Compression Options:

LZWThe default compression. It is a variant of the Lempel-Ziv-Welch algorithm. It remains the default for backward compatibility.
ROWCompresses index entries based on differences between rows (for use with fixed-length records only). It typically does not compress as well as LZW, but takes up less space in memory because the rows are expanded on demand.
'inplace'Causes the index to be built using the inplace compression format. The payload defaults to using lz4 compression.
'inplace:lz4hc' Causes inplace compression on the key fields and lz4hc compression on the payload. The resulting index can be smaller than using lz4.

The inplace index compression format (introduced in version 9.2.0) improves compression of keyed fields and allows them to be searched without decompression. The original index compression implementation decompresses the rows when they are read from disk.

Because the branch nodes can be searched without decompression more branch nodes fit into memory which can improve search performance. The lz4 compression used for the payload is significantly faster at decompressing leaf pages than the previous LZW compression.

Whether performance is better with lz4hc (a high-compression variant of lz4) on the payload fields depends on the access characteristics of the data and how much of the index is cached in memory.

If you attempt to read an index with the inplace compression format on a system that does not support them, you will receive an error message.

See Also: DATASET, BUILDINDEX, JOIN, FETCH, KEYED/WILD