DM8达梦数据库:达梦数据库分区表
程序员文章站
2022-06-02 22:09:18
...
达梦数据库-二级分区表:
创建一个产品销售记录表 sales,记录产品的销量情况。由于产品只在几个固定
的城市销售,所以可以按照销售城市区号对该表进行 LIST 分区。再按照年份RANGE范围分区
示例没创建对应的表空间,默认存到MAIN表空间(正式环境不可默认)
CREATE TABLE "SYSDBA"."SALES_NEW"
(
"SALES_ID" INT,
"SALEMAN" CHAR(20),
"SALEDATE" DATETIME(6),
"CITY" CHAR(10))
PARTITION BY LIST("CITY")
SUBPARTITION BY RANGE("SALEDATE") SUBPARTITION TEMPLATE
(
SUBPARTITION "P2021" VALUES LESS THAN(DATETIME'2022-01-01 00:00:00'),
SUBPARTITION "P2022" VALUES LESS THAN(DATETIME'2023-01-01 00:00:00'),
SUBPARTITION "P2023" VALUES LESS THAN(DATETIME'2024-01-01 00:00:00'),
SUBPARTITION "P2024" VALUES LESS THAN(DATETIME'2025-01-01 00:00:00'),
SUBPARTITION "P2025" VALUES LESS THAN(DATETIME'2026-01-01 00:00:00'),
SUBPARTITION "P2026" VALUES LESS THAN(DATETIME'2027-01-01 00:00:00'),
SUBPARTITION "P2027" VALUES LESS THAN(DATETIME'2028-01-01 00:00:00'),
SUBPARTITION "P2028" VALUES LESS THAN(DATETIME'2029-01-01 00:00:00'),
SUBPARTITION "P2029" VALUES LESS THAN(DATETIME'2030-01-01 00:00:00'),
SUBPARTITION "P2030" VALUES LESS THAN(DATETIME'2031-01-01 00:00:00'),
SUBPARTITION "P2099" VALUES EQU OR LESS THAN(MAXVALUE)
)
(
PARTITION "P0310" VALUES('0310') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0311" VALUES('0311') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0312" VALUES('0312') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0313" VALUES('0313') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0314" VALUES('0314') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0315" VALUES('0315') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0316" VALUES('0316') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0317" VALUES('0317') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0318" VALUES('0318') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0319" VALUES('0319') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P0335" VALUES('0335') STORAGE(ON "MAIN", CLUSTERBTR) ,
PARTITION "P9999" VALUES(DEFAULT) STORAGE(ON "MAIN", CLUSTERBTR)
) STORAGE(ON "MAIN", CLUSTERBTR) ;
介绍:
达梦数据库:达梦数据库分区表总结
第 3 章 数据定义语句
LIST 分区表使用说明:
- LIST 分区支持 DEFAULT 关键字的使用,所有不满足分区条件的数据,都划
分为 DEFAULT 的分区,但 DEFAULT 关键字需要用户指定,系统不会自动创
建 DEFAULT 分区。- LIST 分区范围值不能为 NULL。
- LIST 分区子表范围值个数与数据页大小和相关系统表列长度相关,存在以下
限制:
a) 4K 页,单个子表最多支持 120 个范围值。
b) 8K 页,单个子表最多支持 254 个范围值。
c) 16K 或 32K 页,单个子表最多支持 270 个范围值。
- 范围分区和哈希分区的分区键可以多个,最多不超过 16 列;LIST 分区的分区键必须唯一;
- 范围分区表使用说明:
- 范围分区支持 MAXVALUE 值的使用,MAXVALUE 代表一个比任何值都大的值。
MAXVALUE 值需要用户指定才能使用,作为分区中的最大值。- 范围分区的范围值表达式类型应与分区列类型一致,否则按分区列类型进行类
型转换。- 对于范围分区,增加分区必须在最后一个分区范围值的后面添加,要想在表的
开始范围或中间增加分区,应使用 SPLIT PARTITION 语句。
表中的每个分区都可以通过“PARTITION”子句指定一个名称。并且每一个分区都有
一个范围,通过“VALUES LESS THAN”子句可以指定上界,而它的下界是前一个分区的
上界。如分区 p2 的 time 字段取值范围是[‘2018-04-01’, ‘2018-07-01’)。如果通
过“VALUES EQU OR LESS THAN”指定上界,即该分区包含上界值
上一篇: C++中的c_str()函数怎么使用?
下一篇: 司马迁的女儿有多厉害?后代竟出了三个皇帝