Oracle 21c 提供丰富且完善的分区能力,覆盖从单级到多级、从手动到自动、从范围到离散值的全场景。以下是官方支持的所有分区方式,按类型与组合分类说明。
一、单级分区(基础 6 类)
| 类型 | 语法关键字 | 划分依据 | 适用场景 | 核心特点 |
|---|---|---|---|---|
| 范围分区 | RANGE (col) | 连续值区间(日期 / 数值) | 时间序列、流水号、按周期管理 | 支持 MAXVALUE、区间裁剪、历史归档Oracle |
| 列表分区 | LIST (col) | 离散值集合(枚举) | 地区、状态、类型、渠道 | 支持 DEFAULT 分区兜底;多列列表也支持 |
| 哈希分区 | HASH (col) | 哈希算法均匀分布 | 无明确范围、需均衡 IO / 并行 | 分区数建议 2 的幂;自动负载均衡Oracle |
| 区间分区 | RANGE + INTERVAL | 范围 + 自动扩展 | 按月 / 周 / 日滚动新增数据 | 超出门槛自动创建新分区,无需手动 ADD PARTITIONOracle |
| 自动列表分区 | LIST AUTOMATIC | 自动匹配新离散值 | 枚举值频繁新增、不确定 | 插入新值自动创建分区,类似区间的自动机制Oracle |
| 系统分区 | SYSTEM | 应用 / 用户指定写入 | 强可控、分库分表类似场景 | 每个分区独立段,需显式指定写入分区 |
二、组合分区(多级 12 类)
在一级分区基础上,再用二级分区(子分区)进一步细分,覆盖多维业务场景。
2.1 范围为一级的组合
| 组合 | 一级 | 二级 | 典型用途 |
|---|---|---|---|
| 范围 - 哈希 | RANGE-HASH | 哈希 | 时间维度 + 并行查询 / 均匀分布 |
| 范围 - 列表 | RANGE-LIST | 列表 | 时间 + 地区 / 类型,多维过滤 |
| 范围 - 范围 | RANGE-RANGE | 范围 | 双时间维度(下单 / 支付 / 发货) |
| 范围 - 区间 | RANGE-INTERVAL | 区间 | 主范围 + 次级周期管理(如年 + 月) |
2.2 列表为一级的组合
| 组合 | 一级 | 二级 | 典型用途 |
|---|---|---|---|
| 列表 - 哈希 | LIST-HASH | 哈希 | 主维度离散 + 并行 / 均衡 |
| 列表 - 列表 | LIST-LIST | 列表 | 双离散维度(地区 + 渠道) |
| 列表 - 范围 | LIST-RANGE | 范围 | 主维度离散 + 次级时间周期 |
2.3 哈希为一级的组合
| 组合 | 一级 | 二级 | 典型用途 |
|---|---|---|---|
| 哈希 - 哈希 | HASH-HASH | 哈希 | 双维度哈希,支持双向分区 - wise Join |
| 哈希 - 列表 | HASH-LIST | 列表 | 均衡分布 + 离散维度过滤 |
| 哈希 - 范围 | HASH-RANGE | 范围 | 均衡分布 + 时间周期管理 |
2.4 区间为一级的组合
| 组合 | 一级 | 二级 | 典型用途 |
|---|---|---|---|
| 区间 - 哈希 | INTERVAL-HASH | 哈希 | 自动时间扩展 + 并行 / 均衡Oracle |
| 区间 - 列表 | INTERVAL-LIST | 列表 | 自动时间 + 离散维度Oracle |
| 区间 - 范围 | INTERVAL-RANGE | 范围 | 自动时间 + 次级时间周期 |
注:组合分区均支持本地索引(
LOCAL)自动对齐,全局索引(GLOBAL)需手动维护。
三、特殊分区与扩展能力
3.1 引用分区(Reference Partitioning)
通过外键关系继承父表分区策略,子表无需重复定义分区键,实现父子表同构分区,保证关联数据一致性与分区维护一致性Oracle。
3.2 虚拟列分区(Virtual Column Partitioning)
基于表达式 / 函数生成的虚拟列作为分区键,支持 RANGE/LIST/HASH,无需新增物理列,灵活适配复杂业务规则。
3.3 系统分区(System Partitioning)
用户 / 应用显式指定数据写入哪个分区,适合分库分表、强可控写入场景,每个分区为独立段,管理粒度更细。
3.4 混合分区表(Hybrid Partitioned Tables)
支持热数据在内存、温数据在闪存、冷数据在低成本存储的分层管理,结合 ILM(信息生命周期管理)策略,自动冷热分层与归档。
四、21c 新增 / 增强亮点
- 自动列表分区:插入新离散值自动创建分区,大幅减少手动维护开销Oracle。
- 组合区间扩展:支持
INTERVAL与RANGE/LIST/HASH的更多组合,适配更复杂的时间 + 多维场景Oracle。 - 系统分区增强:更灵活的分区写入控制,适配分库分表类架构。
- ILM 与混合分区深度集成:自动依据访问频率将分区迁移至不同存储层级,降低 TCO。
五、快速选型建议
- 按时间周期:优先 范围 / 区间分区;需自动扩展则选 区间Oracle。
- 离散枚举:优先 列表分区;值不确定且需自动扩容选 自动列表Oracle。
- 均衡 IO / 并行:优先 哈希分区Oracle。
- 多维过滤:优先 组合分区(如范围 - 列表、列表 - 哈希)。
- 父子表同构:选 引用分区Oracle。
- 分库分表类场景:选 系统分区。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




