ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

GBase 8a数据库RANGE分区操作详解

GBase 8a数据库RANGE分区操作详解 南大通用GBase 8a数据库gbase database支持 RANGE 分区最常用于按日期范围拆分大表。从逻辑上看是一张表但底层按分区存储查询时自动做分区裁剪只扫描相关分区大幅提升性能。删除过期数据时直接 DROP PARTITION 即可秒级释放空间。使用示例-- 创建按月 RANGE 分区的交易流水表CREATE TABLE txn_flow (txn_id BIGINT,txn_date DATE,amount DECIMAL(12,2),merchant VARCHAR(100)) PARTITION BY RANGE (TO_DAYS(txn_date)) (PARTITION p202601 VALUES LESS THAN (TO_DAYS(2026-02-01)),PARTITION p202602 VALUES LESS THAN (TO_DAYS(2026-03-01)),PARTITION p202603 VALUES LESS THAN (TO_DAYS(2026-04-01)),PARTITION p202604 VALUES LESS THAN (TO_DAYS(2026-05-01)),PARTITION p202605 VALUES LESS THAN (TO_DAYS(2026-06-01)),PARTITION p202606 VALUES LESS THAN (TO_DAYS(2026-07-01)));-- 新增 7 月分区ALTER TABLE txn_flow ADD PARTITION (PARTITION p202607 VALUES LESS THAN (TO_DAYS(2026-08-01)));-- 删除过期分区秒级释放空间ALTER TABLE txn_flow DROP PARTITION p202601;-- 查看分区信息SELECT PARTITION_NAME AS 分区名,PARTITION_DESCRIPTION AS 分区边界值,TABLE_ROWS AS 预估行数FROM information_schema.partitionsWHERE TABLE_SCHEMA 你的库名 -- 替换成你实际的数据库名AND TABLE_NAME txn_flowORDER BY PARTITION_ORDINAL_POSITION;最佳实践建议按月分区不要用天/小时分区数过多会影响性能分区数控制在 50~60 个以内每个分区数据量不宜太小每节点每分区建议 ≥ 650 万行
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进