在 DB2 for Linux, Unix, and Windows 中的行压缩的最佳实践
2009-02-08 16:38:31 来源:WEB开发网在 DB2 9.5 中,你可以从自动创建压缩字典(ADC)得到好处。在 ALTER TABLE 启用压缩功能的时候,你可能有一张表已经有足够的数据并且没有数据压缩字典。在对表启用压缩功能后,表的压缩字典是在洗一次数据添加的时候创建,并成为表的一部分。在你创建一个新表并启用压缩后,在有足够数据让表自动创建压缩字典之前可能需要一些时间。数据压缩字典创建的具体时间花费完全取决于有多少数据添加进这张表中。 在装载或插入操作过程中你可能会注意到一个由于创建压缩字典造成的延迟。
对内,数据库管理器持续跟踪表中的数据,你并不需要显式的创建这个字典并压缩数据。在大多数情况下,表越快达到 1-2M 数据,自动创建压缩字典点就会越早发生,并且从那以后的数据都将被压缩。这不在需要离线重组表或者运行 INSPECT 实用工具来创建压缩字典并压缩数据。
当使用了自动创建压缩字典,表可能有一个压缩和未压缩的数据混合存在。如果你的表是 1G 或 nG 大小 , 那么就不必担心这张表中头 1-2M 的数据(在压缩字典创建之前)对压缩效果的影响,这甚至都不用去考虑。
对大型表进行压缩
你可能遇到这种情况,你有一个没有启用行压缩的表,而你打算对它启用。这有很多方法来压缩这张表中的数据。
使用 INSPECT
使用 ALTER TABLE … COMPRESS YES 来对表启用压缩
使用 INSPECT 来建立数据压缩字典。更多信息参见前面对使用 INSPECT 命令的讨论。
使用 DB2 High Performance Unload 来卸载数据。
装载数据。它们将在装载操作中使用压缩字典进行压缩。这张表上所有后来增加的数据都将被压缩。
使用 REORG
DB2 High Performance Unload 实用工具来卸载现有数据。
更多精彩
赞助商链接