db2双字段建立分区表的问题
杰小 2011-02-23 03:58:24 建立了一张双字段的分区表,SQL如下
CREATE TABLE ODS.FQTEST
(
MSSBNO CHARACTER (10),
MSNAME CHARACTER (10),
MSDATE CHARACTER (8)
)
PARTITION BY RANGE(MSSBNO, MSDATE)
(
STARTING FROM ('0000','20090101')
ENDING ('1000','20091231') EXCLUSIVE in lscx_test01,
ENDING ('1000','20101231') EXCLUSIVE in lscx_test02,
ENDING ('2000','20091231') EXCLUSIVE in lscx_test03,
ENDING ('2000','20101231') EXCLUSIVE in lscx_test04)
这样表可以建立成功;
插入如下数据
0000 sj 20100701
0001 xy 20110701
0002 xy 20110701
0002 sj 20100701
1000 sj 20100701
1001 js 20110701
1999 js 20110701
我预期达到的效果是,先按MSSBNO字段分区,提高查询效率,在按MSDATE分区,可以快速清理数据,但实际上我们通过建表语句和插入的数据可以发现,双字段分区数据所落入的分区范围似乎依旧是以第一个字段的落点,第二个字段我没看到有任何的效果。
我期望的效果是0000-1000并且数据时间为20090101-20091231在一个区
0000-1000并且数据时间为20100101-20111231在一个区
1000-2000并且数据时间为20090101-20091231在一个区
1000-2000并且数据时间为20100101-20111231在一个区
但是这样建表会提示所建分区范围覆盖其他分区,
要想达到我这样的分区效果应该怎样实现?