测试内容 测试达梦支持的分区方式
特殊要求或配置 1.操作系统正常运行;
2.数据库安装成功并正常运行。
测试说明 通过不同的建表方式,测试达梦支持的分区表。
测试步骤 1.创建范围分区表;
2.创建哈希分区表;
3.创建列表水平分区表;
4.创建多级分区表。
预期结果 达梦支持范围分区表(范围分区支持maxvalue)、哈希分区表、列表水平分区表和多级分区表。
实际结果 --创建范围分区表,插入数据,并确认是否插入指定分区
CREATE TABLE rang_partition_t(
name varchar(50),
price int,
info varchar(20)
)
PARTITION BY RANGE(price)(
PARTITION p1 VALUES LESS THAN (10),
PARTITION p2 VALUES LESS THAN (50),
PARTITION p3 VALUES LESS THAN (100),
PARTITION p4 VALUES EQU OR LESS THAN (MAXVALUE)
);
insert into rang_partition_t values(‘bike’,6,‘Very Good’);
insert into rang_partition_t values(‘car’,30,‘Very Nice’);
insert into rang_partition_t values(‘tank’,99,‘Very Big’);
insert into rang_partition_t values(‘rocket’,10000,‘Very Fast’);
commit;
select * from rang_partition_t partition(p1);
select * from rang_partition_t partition(p2);
select * from rang_partition_t partition(p3);
select * from rang_partition_t partition(p4);
–创建哈希分区表
CREATE TABLE HASH_partition_t(
CITY varchar(50),
name varchar(50)
)
PARTITION BY hash(CITY)(
PARTITION p1 ,
PARTITION p2
);
insert into HASH_partition_t values(‘北京’,‘ZhangSAN’);
insert into HASH_partition_t values(‘济南’,‘LiSi’);
insert into HASH_partition_t values(‘上海’,‘WangWu’);
insert into HASH_partition_t values(‘南京’,‘ZhaoLiu’);
commit;
select * from HASH_partition_t partition(p1);
select * from HASH_partition_t partition(p2);
–创建列表分区表
CREATE TABLE list_partition_t(
CITY varchar(50),
name varchar(50)
)
PARTITION BY list(CITY)(
PARTITION p1 VALUES (‘北京’,‘天津’),
PARTITION p2 VALUES (‘济南’,‘青岛’),
PARTITION p3 VALUES (‘上海’),
PARTITION p_other values (default)
);
insert into list_partition_t values(‘北京’,‘ZhangSAN’);
insert into list_partition_t values(‘济南’,‘LiSi’);
insert into list_partition_t values(‘上海’,‘WangWu’);
insert into list_partition_t values(‘非洲’,‘ZhaoLiu’);
commit;
select * from list_partition_t partition(p1);
select * from list_partition_t partition(p2);
select * from list_partition_t partition(p3);
select * from list_partition_t partition(p_other);
–创建多级分区表,第一级:基于年级的列表分区。第二级:基于性别的列表分区。第三级:基于分数的范围分区。
CREATE TABLE list_partition_mt(
name varchar(50),
grade int check (grade in (7,8,9)),
sex char(2) check (sex in (‘男’,‘女’)),
cores int check (cores >=0 and cores<=100)
)
PARTITION BY LIST(GRADE)
SUBPARTITION BY LIST(sex) SUBPARTITION TEMPLATE(
SUBPARTITION s1 VALUES (‘男’),
SUBPARTITION s2 VALUES (‘女’)),
SUBPARTITION BY range(cores) SUBPARTITION TEMPLATE(
SUBPARTITION c1 VALUES LESS THAN (60),
SUBPARTITION c2 VALUES LESS THAN (80),
SUBPARTITION c3 VALUES EQU OR LESS THAN (100)
)
(
PARTITION P1 VALUES (7),
PARTITION P2 VALUES (8),
PARTITION P3 VALUES (9)
);
insert into list_partition_mt values(‘李华’,7,‘男’,59);
insert into list_partition_mt values(‘张三’,8,‘男’,69);
insert into list_partition_mt values(‘李四’,9,‘男’,81);
insert into list_partition_mt values(‘LALA’,7,‘女’,58);
insert into list_partition_mt values(‘HAHA’,8,‘女’,91);
insert into list_partition_mt values(‘DADA’,9,‘女’,71);
insert into list_partition_mt values(‘刘秋’,7,‘女’,75);
insert into list_partition_mt values(‘李华2’,8,‘男’,59);
insert into list_partition_mt values(‘王五’,9,‘男’,88);
第一级查询
select * from list_partition_mt partition(P1);
select * from list_partition_mt partition(P2);
select * from list_partition_mt partition(P3);
第二级查询
select * from list_partition_mt SUBPARTITION(P1_S1);
第三级查询
select * from list_partition_mt SUBPARTITION(P1_S1_C1);
结论 达梦支持范围分区表、哈希分区表、列表水平分区表和多级分区表。
备注 达梦数据库 DM 支持提供以下分区方式:
文章
阅读量
获赞