表分区的概念
- 允许用户将一个表分成多个区
- 用户可以只查询特定分区
- 将不同分区存储在不同的磁盘,提高访问性能和安全性
- 可以独立地备份和恢复每个分区
分区方法
- 可以使用user_tab_partitions查看分区信息
范围分区
- 以表中的一个列或一组列的值的范围分区
1 | PARTITION BY RANGE(column_name) |
散列分区
- 允许用户对不具有逻辑范围的数据进行分区
- 通过在分区键上执行HASH函数决定存储分区
- 将数据平均地分布到不同的分区
1 | PARTITION BY HASH(column_name) |
列表分区
- 允许用户将不相关的数据组织在一起
1 | PARTITION BY LIST(column_name) |
复合分区
- 范围分区与散列分区或列表分区的组合
1 | PARTITION BY RANGE(column_name1) |
引用分区
- 基于外键引用的父表的分区方法,依赖父表字表的关系,子表通过外键关联到父表,继成父表的分区方式和维护操作
虚拟列分区
- 把分区建立在某个虚拟列上,即建立在函数或者表达式计算结果上,来完成某种任务