金仓 KingbaseES 数据分区学习
大部分都是参考豆包生成,列了三种常用的分区方式,能满足90%的场景,感谢豆包
一、分区创建按照年月进行分区,创建语句如下:
'--创建分区表
CREATE TABLE A1 (
xh NUMBER,
ny DATE NOT NULL -- 分区键:统计年月
) PARTITION BY RANGE (ny);
--创建分区表1
CREATE TABLE A1_202601 PARTITION OF A1
FOR VALUES FROM ('2026-01-01') TO ('2026-02-01');
--创建分区表2
CREATE TABLE A1_202602 PARTITION OF A1
FOR VALUES FROM ('2026-02-01') TO ('2026-03-01');
-- 默认分区(存放超出已定义区间的数据,可选)
CREATE TABLE A1_default PARTITION OF A1 DEFAULT;
--删除分区
DROP TABLE A1_default;
二、按照业务进行划分分区
--创建分区表
CREATE TABLE b_order_list (
id INT,
province_code VARCHAR(6),
amount NUMERIC
) PARTITION BY LIST (province_code);
-- 华东分区:固定多个省份编码
CREATE TABLE b_order_east PARTITION OF b_order_list
FOR VALUES IN ('310000','320000','330000');
-- 华北分区
CREATE TABLE b_order_north PARTITION OF b_order_list
FOR VALUES IN ('110000','120000','130000');
-- 兜底未知省份
CREATE TABLE b_order_other PARTITION OF b_order_list DEFAULT;
三、HASH 哈希(散列)分区:优势:
CREATE TABLE C1 (
uid INT,
username TEXT
) PARTITION BY HASH (uid);
-- 哈希分区1
CREATE TABLE C1_p1 PARTITION OF C1 FOR VALUES WITH (MODULUS 4, REMAINDER 0);
-- 哈希分区2
CREATE TABLE C1_p2 PARTITION OF C1 FOR VALUES WITH (MODULUS 4, REMAINDER 1);
-- 哈希分区3
CREATE TABLE C1_p3 PARTITION OF C1 FOR VALUES WITH (MODULUS 4, REMAINDER 2);
-- 哈希分区4
CREATE TABLE C1_p4 PARTITION OF C1 FOR VALUES WITH (MODULUS 4, REMAINDER 3);

浙公网安备 33010602011771号