可以压缩和解压缩表与分段中的行数据和/或数据库空间中的简单大对象。还可以合并表或分段中的可用空间,然后将这些可用空间返还给数据库空间。 压缩数据之前,可估计可以节省的磁盘空间量。
压缩数据、整合数据以及返还可用空间具有以下益处:
I/O 绑定表(例如,高速缓存命中率低的表)非常适合压缩。在 OLTP 环境中,压缩 I/O 绑定表可以提高性能。
但是,如果应用程序运行时具有很高的缓冲区高速缓存命中率,并且高性能比空间使用量更重要,那么可能不希望压缩数据,因为压缩可能会稍微降低性能。
查询可以访问压缩表中的数据。
由于与未压缩数据相比,压缩的数据占用更少页面且每页中有更多行,所以查询优化器可能在压缩后选择不同的计划。
如果使用 Enterprise Replication (ER),那么压缩一个复制服务器上的数据不会影响其他任何复制服务器上的数据。
如果使用高可用性数据复制 (HDR),源表中压缩的数据也将在目标表中压缩。不能在 HDR 辅助服务器、RS 辅助服务器或 SD 辅助服务器上执行压缩操作,因为 HDR 目标服务器必须具有与源服务器相同的数据和物理布局。
不能使用 onload 和 onunload 实用程序将压缩后的数据从一个数据库移至另一个数据库。在使用 onload 和 onunload 实用程序之前,您必须将压缩表和分段中的数据解压缩。
可使用 IBM® OpenAdmin Tool (OAT) for Informix® 执行与压缩相关的操作,也可通过运行包含带有压缩参数的 SQL 管理 API 命令的 SQL 语句来执行这些操作。 对表或表分段运行 SQL 管理 API create dictionary 命令或初始 compress 命令时,将启用后续数据装入(包含 2000 行或更多行数据)的自动压缩。
取代压缩的主要方法是购买更多物理存储器。 取代减少 IO 绑定工作负载内的瓶颈的主要方法是购买更多物理内存,以便扩展缓冲池。