Oracle表分区

当一张表很大时,查询效率可能急剧下降,特别是那些需要排序的查询。Oracle的表分区功能是一种解决方案。

 原理

表分区的原理是水平分割表,就是把所有的行分散在几个分区。比如1-100行在A分区,101-200行在B分区。

 

作用/优势

显著地提高查询性能(查询负载分散到了多个分区);

对应用程序端透明(不用修改增删改查SQL语句);

提高可用性(Availability);分区之间是相互独立的,一个分区出现问题,不会影响其它分区的数据;

可以对单个分区管理(备份、导入等等);

 

分区策略

针对一个或多个字段选择分区策略:

  • 范围(Range),比如时间、整数范围

  • 散列(Hash),使用Oracle的散列函数

  • 集合/枚举(List),某个字段的值属于一个集合,比如省份

 

创建分区

分区可以看作是表的功能性特征,在创建表的时候可以指定分区。Oracle还提供了在线重定义表的功能,能把为未分区的表转换为分区的表

参考Oracle文档对不同的分区策略的举例和说明

 

管理分区

包括增加、删除、移动、合并分区等等,参考文档Partition Administration

 

缺点

表分区是Oracle数据库的特性,不具备移植性;

购买Oracle的License时,表分区功能需要额外计费(2000多美金);

 

Oracle表分区,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。