IBM Db2 Warehouse on Cloud Enterprise MPPIBM Db2 Warehouse MPP 数据库中创建表

您可以使用 Web 控制台或通过连接到数据库的应用程序在 IBM® Db2® Warehouse on Cloud Enterprise MPPIBM Db2 Warehouse MPP 数据库中创建表。创建表时,必须决定分布表数据的方式。

关于此任务

在 MPP 数据库中创建新表时,可以使用散列分布或随机分布:
散列分布

通过将散列算法应用于分布键中列示的各列中的值来分布数据。

选择恰当的分布键可以平衡两个目标:
  1. 通过在整个系统中平均分布表数据,可以最大限度地并行处理查询,以及最大限度地利用可用的存储空间。
  2. 通过将可能会一起访存的数据并置在一起,可以最大限度减少访存数据所需的时间。

通常,选择恰当的散列分布键可以使性能达致最佳。

可以通过在 CREATE TABLE 语句中包括 DISTRIBUTE BY HASH 子句来指定分布键。

随机分布

数据在整个系统内平均分布。

随机分布可以最大限度地并行处理查询,并最大限度地利用可用的存储空间。

在以下情况下,请考虑使用随机分布作为散列分布的更简单替代方法:
  • 如果您没有足够的信息来选择有效的散列分布键。
  • 如果您知道针对表输入的查询不需要并置。
  • 如果表足够小,性能不受分布影响。

可以通过在 CREATE TABLE 语句中包括 DISTRIBUTE BY RANDOM 子句来使用随机分布。

如果创建具有主键或唯一键的表时指定了 DISTRIBUTE BY RANDOM,那么数据库管理器会根据该唯一键或主键创建散列键,从而实现随机分布。在这种情况下,当您在 Web 控制台或目录表中查看表定义时,您会看到这个散列分布键,尽管创建表时已指定 DISTRIBUTE BY RANDOM。

缺省值

如果在 CREATE TABLE 语句中没有指定分布子句,那么将使用缺省散列分布键。

过程

Web 控制台中,或者在连接到 MPP 数据库的应用程序中,发出 CREATE TABLE 语句。

  • 在 CREATE TABLE 语句中定义主键和其他检查约束,而不要先创建表,然后在 ALTER TABLE 语句中定义主键或其他检查约束。
  • 在 CREATE TABLE 语句中指定分布。
    示例 1:散列分布
    
    CREATE TABLE MYTABLE
    (
      COL1 INT,
      COL2 VARCHAR(5)
    )
    DISTRIBUTE BY HASH( COL1 )
    示例 2:随机分布
    
    CREATE TABLE MYTABLE
    (
      COL1 INT,
      COL2 VARCHAR(5)
    )
    DISTRIBUTE BY RANDOM

    另请参阅:CREATE TABLE 语句

  • 如果在 CREATE TABLE 语句中没有指定分布键,那么将使用缺省散列分布键。通过在 Web 控制台中查看表定义信息,可以看到用作缺省分布键的列。