DB2 表分区
来源:互联网 发布:可以货到付款的软件 编辑:程序博客网 时间:2024/06/06 11:08
PARTITION BY <RANGE> ([ColumnName] <NULLS LAST | NULLS FIRST> ,...) ( STARTING <FROM> [Start | MINVALUE | MAXVALUE] | STARTING <FROM> ([Start | MINVALUE | MAXVALUE] ,...) <INCLUSIVE | EXCLUSIVE> ENDING <AT> [End | MINVALUE | MAXVALUE] | ENDING <AT> ([End | MINVALUE | MAXVALUE] ,...) <INCLUSIVE | EXCLUSIVE> EVERY <(>[Constant] <DurationLabel> <)> ,...)
手工指定分区的语法是:
PARTITION BY <RANGE> ([ColumnName] <NULLS LAST | NULLS FIRST> ,...) ( <PARTITION [PartitionName]> STARTING <FROM> [Start | MINVALUE | MAXVALUE] | STARTING <FROM> ([Start | MINVALUE | MAXVALUE] ,...) <INCLUSIVE | EXCLUSIVE> ENDING <AT> [End | MINVALUE | MAXVALUE] | ENDING <AT> ([End | MINVALUE | MAXVALUE] ,...) <INCLUSIVE | EXCLUSIVE> <IN [TSName]> <INDEX IN [IndexTSName]> <LONG IN [LongTSName]>
其中:
- ColumnName:用名称指定一个或多个列(最多 16 列),这些列的值用来决定数据行应该存储在哪个数据分区中。(指定的列组成表的分区键 — 参见边栏 “选择表分区键”。)数据类型为
LONG VARCHAR
、LONG VARGRAPHIC
、BLOB
、CLOB
、DBCLOB
、XML
、基于这些数据类型的 distinct 类型和结构化数据类型的列都不能作为数据分区键的组成部分。 - PartitionName:指定分配给要创建的数据分区的惟一名称。
- Start:指定每个数据分区的范围下限。
- End:指定每个数据分区的范围上限。
- Constant:在使用语法的自动生成形式时,指定每个数据分区范围的宽度。从
STARTING FROM
值开始创建数据分区,数据分区的范围内包含指定数量的值。支持这种语法的条件是分区键由单一列组成,这一列的数据类型是数字、日期、时间或时间戳。 - DurationLabel:如果分区键列的数据类型是日期、时间或时间戳,这个参数指定与 Constant 值相关的时间单位。这个参数的有效值是:
YEAR
、YEARS
、MONTH
、MONTHS
、DAY
、DAYS
、HOUR
、HOURS
、MINUTE
、MINUTES
、SECOND
、SECONDS
、MICROSECOND
和MICROSECONDS
。 - TSName:指定存储每个数据分区的表空间。
- IndexTSName:指定存储每个数据分区的分区索引的表空间。
- LongTSName:指定存储长列的值的表空间。
注意:尖括号 (< >) 中的参数是可选的;方括号 ([ ]) 中的参数或选项是必需的,必须提供它们;逗号后面跟着省略号 (...) 表示前面的参数可以重复出现多次。
CREATE TABLE DB2INST1.TEST1 (
ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1, CACHE 20) NOT NULL,
PROPERTY_KEY VARCHAR(255),
VALUE_STRING VARCHAR(1500),
CONSTRAINT TEST1_PK PRIMARY KEY(ID)
)IN USERSPACE1
INDEX IN DMS_D1
PARTITION BY RANGE(PROPERTY_KEY NULLS FIRST)
( STARTING MINVALUE ,
STARTING 'A' INCLUSIVE ENDING 'B' EXCLUSIVE IN DMS_D1,
STARTING 'B' INCLUSIVE ENDING 'C' EXCLUSIVE IN DMS_D2,
STARTING 'a' INCLUSIVE ENDING 'b' EXCLUSIVE IN DMS_D3,
STARTING 'b' INCLUSIVE ENDING 'c' EXCLUSIVE IN DMS_D4,
ENDING MAXVALUE );
--查看分区
db2 describe data partitions for table DB2INST1.TEST1
db2 describe data partitions for table DB2INST1.TEST1show detail
注意事项
1.INCLUSIVE 是>= 或<=
2.EXCLUSIVE 是> 或者<
3.如果指定分区键NULLS 的时候 需要指定 FIRST或者LAST 对应的指定最大值最小值。
可以跟踪SQL查看具体的执行计划
db2expln -d sample -user db2admin **** -f "Explan_20131120.sql" -z ; -g -output "Explan_result_20131120.txt"
- DB2 V9表分区
- DB2 表分区
- db2表分区
- Db2性能优化-表分区
- DB2 分区
- db2表空间、本地分区索引
- [转贴]DB2 分区特性
- DB2数据库分区(1)
- DB2数据库分区(2)
- db2 增加删除分区
- db2删除分区
- DB2分区概念
- DB2 分区表增加分区
- DB2建立分区数据库
- db2 分区数据库详解
- db2 增加删除分区
- DB2 detch分区
- db2 数据库分区
- 十二星座英语名称(Zodiac)
- 类图-对象图和交互图
- 视频专辑:Web Service视频教程
- flex sqlite基本用法
- C++必知必会之(13)复制操作
- DB2 表分区
- GUI系统之SurfaceFlinger(6)BufferQueue中的缓冲区分配
- linux c socket之多路复用:绑定多个端口
- 视频专辑:Java从入门到精通视频教程
- GUI系统之SurfaceFlinger(7)应用程序的典型绘图流程
- 【扩散】【福利】NOIp2013提高组解题报告
- 学生成绩管理系统
- android中 layer-list和include的使用
- 视频专辑:Illustrator视频教程