达梦分布式集群DPC_表分区方式详细介绍
1 范围分区
根据分区键的取值范围来划分分区
1.1 建表语句示例
最常见的以时间划分
例如
--建表语句为
CREATE TABLE TEST01
(
"ID" VARCHAR2(36) NOT NULL,
"DATE" TIMESTAMP(0) NOT NULL
)PARTITION BY RANGE("DATE")
(
PARTITION P201001 VALUES LESS THAN(DATETIME'2010-01-01 00:00:00'),
PARTITION P201501 VALUES LESS THAN(DATETIME'2015-01-01 00:00:00'),
PARTITION P202001 VALUES LESS THAN(DATETIME'2020-01-01 00:00:00'),
PARTITION P202501 VALUES LESS THAN(DATETIME'2025-01-01 00:00:00'),
PARTITION "PMAX" VALUES LESS THAN(MAXVALUE));
--分析
语句以DATE列作为分区键,创建了总共5个子表的分区表;
小于'2010-01-01 00:00:00'的值,存储在P201001分区中,大于等于'2025-01-01 00:00:00'的值统一存储在PMAX分区中;
1.2 优劣势分析
优点
1.对于按范围查询的场景,如查询某一年度、某月数据,数据库能够快速定位到对应的分区,避免全表扫描,极大提升查询性能。
2.同时也方便分区管理,比如处理某个年月数据,只需要针对对应的分区进行处理即可。
3.插入性能远优于间隔分区。(间隔分区每插入一行数据,数据库内部都会判断)
缺点
1.需要预先定义分区范围,不适合动态变化的分区键。
2.在需要创建特别多分区的场景,比如以 “天” 来划分分区&