在 DB2 Database Partitioning Feature 环境中选择分区键
2010-09-09 00:00:00 来源:WEB开发网创建数据库分区组内的表空间。在此表空间内创建的所有对象都将跨在数据库分区组定义内指定的这些数据库分区:
CREATE TABLESPACE tbsp1 IN pdpg1 ...
在表空间内创建表。至此,此表的定义与数据库分区组的定义相关联。更改此关系的惟一方式是丢弃此表并在与不同的数据库分区组相关联的一个不同的表空间内重新创建它。
在如下的例子中,Table1 创建于数据库分区 1、2、3 和 4 并且会基于列 COL1 上的一个分区键重新分配:
CREATE TABLE table1(col1 INTEGER NOT NULL, col2 SMALLINT NOT NULL, col3 CHAR(10),
PRIMARY KEY (col1,col2) ) IN tbsp1
DISTRIBUTE BY HASH (col1)
请记住,数据库分区组定义可以更改。比如,可以添加新的数据库分区。如果发生更改,那么在此次更改之前定义的哈希分区表将不会使用这个新的分区,直到此数据库分区组被 REDISTRIBUTE DATABASE PARTITION GROUP 命令重新分配。
定义分区键
分区键由 CREATE TABLE 命令内的 DISTRIBUTED BY HASH 子句定义。分区键定义后,就不能更改。更改它的惟一办法是重新创建此表。
如下的规则和建议适用于分区键定义:
表的主键和所有惟一索引都必须是相关分区键的超集。换句话说,作为分区键一部分的所有列都必须出现在主键或惟一索引定义中。列的顺序可任意。
一个分区键应该包括一至三个列。通常列越少越好。
整型分区键要比字符键高效,而字符键又比小数键高效。
如果在 CREATE TABLE 命令内没有显式地提供分区键,那么就会使用如下的这些默认值:
如果在 CREATE TABLE 语句中指定了一个主键,那么主键的首列会被用作分配键。
Tags:DB Database Partitioning
编辑录入:爽爽 [复制链接] [打 印]- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接