欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 分区表使用说明:

  1. LIST 分区支持 DEFAULT 关键字的使用,所有不满足分区条件的数据,都划
    分为 DEFAULT 的分区,但 DEFAULT 关键字需要用户指定,系统不会自动创
    建 DEFAULT 分区。
  2. LIST 分区范围值不能为 NULL。
  3. LIST 分区子表范围值个数与数据页大小和相关系统表列长度相关,存在以下
    限制:
    a) 4K 页,单个子表最多支持 120 个范围值。
    b) 8K 页,单个子表最多支持 254 个范围值。
    c) 16K 或 32K 页,单个子表最多支持 270 个范围值。
  1. 范围分区和哈希分区的分区键可以多个,最多不超过 16 列;LIST 分区的分区键必须唯一;
  2. 范围分区表使用说明:
  1. 范围分区支持 MAXVALUE 值的使用,MAXVALUE 代表一个比任何值都大的值。
    MAXVALUE 值需要用户指定才能使用,作为分区中的最大值。
  2. 范围分区的范围值表达式类型应与分区列类型一致,否则按分区列类型进行类
    型转换。
  3. 对于范围分区,增加分区必须在最后一个分区范围值的后面添加,要想在表的
    开始范围或中间增加分区,应使用 SPLIT PARTITION 语句。

表中的每个分区都可以通过“PARTITION”子句指定一个名称。并且每一个分区都有
一个范围,通过“VALUES LESS THAN”子句可以指定上界,而它的下界是前一个分区的
上界。如分区 p2 的 time 字段取值范围是[‘2018-04-01’, ‘2018-07-01’)。如果通
过“VALUES EQU OR LESS THAN”指定上界,即该分区包含上界值