鉴于以下情况:
DB1:
EXPORT TO T.IXF OF IXF ... modified by codepage=... SELECT * FROM T;
DB2:
CREATE TABLE T (...) COMPRESS YES ADAPTIVE ORGANIZE BY ROW;
CREATE INDEX ... ON T (...) COMPRESS YES;
...
LOAD FROM T.IXF OF IXF INSERT INTO T (...);
DB1 和 DB2 中的索引是相同的,除了在 DB2 中被压缩之外,DB1 中的集群比率似乎还可以(不确定这是否重要)。DB1 和 DB2 之间的代码页不同
加载后进行重组有什么意义吗?我发现 Z 的一些文章似乎表明数据的导出方式很重要(因为 Z 没有仔细阅读,所以我不知道这是否与 Z 和/或 LUW 相关) .
我尝试了相当多的表,并在加载后执行了 REORGCHK,一切似乎都很好。比较CALL GET_DBSIZE_INFO(?, ?, ?, 0)
REORG 之前和之后显示大小略有下降 (<1%),但我不知道这是否是巧合。
在加载到空表后,是否存在 REORG 有益的特殊情况?
用于 LUW 的 Db2
REORG
的压缩表RESETDICTIONARY
在初始加载后可能是有益的,因为在加载期间,表级压缩字典是使用传入数据的样本构建的,这意味着如果您的数据模式在输入文件中分布不均匀,则字典可能不是最佳的.REORG
将使用更大的样本(如果不是所有数据)来构建字典。除此之外,
REORG
afterLOAD
是不必要的。Db2 for z/OS是不同的,因为其中每个表都会有一个集群索引(如果没有显式声明,则隐式定义),并且如果您的输入文件未根据目标表的集群索引排序,则加载后的集群因子会很差.