自 DB2 9.7 版本起,如果您具备 DB2 Storage Optimization Feature 许可,则可以对临时表应用压缩功能。与行压缩和索引压缩不同,您不必对临时表启用压缩功能。压缩会完全自动执行,且适用于用户定义的表和系统临时表。
用户可在不同情况下使用临时表。系统中包含大量用户定义的全局临时表,它们以两个变体存在:已创建的全局临时表 (CGTT) 和已声明的全局临时表 (DGTT)。某些实用程序和维护操作(如表重组和数据再分布)也使用临时表。在查询处理期间,数据库管理器可能需要使用临时表执行某些操作,并且必须累积一些中间结果,如排序、散列连接或表队列。
临时表压缩采用的机制与通过 ADC 执行经典行压缩的机制相同,虽然永久表的运行时行为略有不同。绝大多数临时表(尤其是小表)不会产生任何物理的 I/O。因此,压缩字典的构建阈值为 100 MB,而不是 2 MB。更高的阈值可确保不压缩通常保持全缓冲状态的小型临时表,而可能会溢出磁盘的较大临时表具有压缩数据。除避免物理 I/O 外,临时表压缩还可确保大型临时表更加有效地使用缓冲池,从而帮助进一步避免物理 I/O。
时间: 2024-12-08 22:10:56