DB2 改变 Table 并添加哈希

DB2 Alter Table and add Hash

是否可以更改 DB2 中现有的 table 以添加散列分区?像...

ALTER TABLE EXAMPLE.TEST_TABLE
PARITION BY HASH(UNIQUE_ID)

谢谢!

如果您 运行 zLinux 上的 Db2-LUW 本地服务器,则以下语法可能可用:

ALTER TABLE .. ADD DISTRIBUTE BY HASH (...)

如果 zLinux 不是 运行Db2-LUW 服务器,而是只是 Db2-for-z/OS 的客户端,则此语法不可用。

要使此语法有意义,需要满足各种先决条件。有关分区实例、数据库分区组、分布键规则和默认行为等的详细信息,请参阅文档

分布式表(分布在分区 Db2 实例中分区数据库的多个物理 and/or 逻辑分区上)的目的是利用硬件功能。因此,如果您的 Db2 实例、数据库和表空间配置不当,则此语法的价值有限。

根据您的真实动机,partition by range 可能会提供有用的功能。注意,如果配置合适,partition by range可以和distribute by hash结合使用。