金仓 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);

 

posted @ 2026-06-12 18:39  一样的梦  阅读(5)  评论(0)    收藏  举报