A data block is a physical unit of I/O that defines how the database handles data. When you specify block-level compression (BLC), the database stores data blocks in compressed format to save storage space. BLC can be enabled or disabled system-wide or for specific types of tables only. BLC can be applied to these objects:
- Journal tables
- Join indexes
- Spool tables
- Global temporary tables
- Primary subtables
- Fallback subtables
- LOB subtables (JSON, XML, and character)
Block-level compression is independent of any other type of compression applied to the same data.
The goals of block-level compression are to save storage space and to reduce disk I/O bandwidth. Block-level compression can use significantly more CPU to compress and decompress data dynamically, so whether query performance is enhanced with block-level compression depends on whether performance is more limited by disk I/O bandwidth or CPU usage.
The following site provides guidelines for evaluating the impact of block-level compression on performance and on disk space: https://downloads.teradata.com/download/extensibility/blc-eval-utility. The site also provides a link to download the Block Level Compression Evaluation utility.