解读GaussDB(for MySQL)灵活多维的二级分区表策略
-- 创建一个二级分区表
CREATE TABLE sales (
id INT,
amount DECIMAL(10, 2),
order_date DATE,
region VARCHAR(20)
) PARTITION BY RANGE (order_date)
SUBPARTITION BY LIST (region) (
PARTITION p2021 VALUES LESS THAN ('2021-01-01')
SUBPARTITION template (
SUBPARTITION eur,
SUBPARTITION amer,
SUBPARTITION rest
),
PARTITION p2022 VALUES LESS THAN ('2022-01-01')
SUBPARTITION template (
SUBPARTITION eur,
SUBPARTITION amer,
SUBPARTITION rest
)
);
-- 向二级分区表中插入数据
INSERT INTO sales VALUES
(1, 1500, '2021-12-31', 'eur'),
(2, 2500, '2021-12-31', 'amer'),
(3, 1000, '2021-12-31', 'rest'),
(4, 1800, '2022-12-31', 'eur'),
(5, 2100, '2022-12-31', 'amer'),
(6, 1200, '2022-12-31', 'rest');
-- 查询2021年欧洲地区的销售额
SELECT SUM(amount) FROM sales
WHERE order_date < '2022-01-01' AND region = 'eur';
这个例子展示了如何在GaussDB(for MySQL)中创建一个按照日期范围分区,并且每个分区内又按照区域列表分子分区的表。然后,我们向这个表中插入了一些数据,并展示了如何查询2021年欧洲地区的总销售额。这个例子简单但是充分,展示了二级分区表的创建和查询,并且有助于理解分区表的概念。
评论已关闭