数据压缩对性能的影响
在许多情况下,压缩表空间中的数据可以显著减少存储数据所需的磁盘空间。 压缩数据也有助于提高缓冲池的性能。 例如,您可以将更多的数据存储在缓冲池中, Db2 可以更轻松地扫描大量数据。
对于压缩数据,性能提升取决于SQL的工作量和压缩量。 您可能会看到以下好处:
- 缓冲池命中率更高。 命中率衡量的是无需I/O操作即可访问页面的频率。
- Db2 访问数据页面的操作次数减少。
压缩比取决于数据的特点和使用的压缩类型。 压缩功能对于较大的桌面空间非常有用。 在空间狭小的环境中,压缩数据的过程可能会抵消压缩带来的空间节省。
在决定是否使用固定长度压缩来压缩数据时,请考虑以下因素:
- Db2 一次压缩一行数据。 如果 Db2 确定压缩该行不会带来任何节省,则该行不会被压缩。 平均行距越接近实际页面大小,压缩效率就越低。
- 压缩数据会占用处理时间。 虽然解压缩数据的成本低于压缩数据,但总体成本取决于数据模式。
如果压缩比小于10%,则压缩效果不佳,因此不建议使用。
如果 Db2 使用固定长度压缩,您可以使用 DSN1COMP 工具来确定压缩数据的可能效果。
如果 Db2 使用固定长度压缩,则可以使用CREATE TABLESPACE和ALTER TABLESPACE语句中的COMPRESS子句来压缩表空间中的数据、分区表空间中的分区数据或索引中的数据。