Oracle表分区

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

 原理

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

 

作用/优势

提高查询性能;

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

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

 

分区策略

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

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

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

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

 

创建分区

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

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

 

管理分区

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

 

缺点

单点问题,包括计算瓶颈、服务器可用性问题;

join操作变慢;

 

posted on 2014-04-18 18:31  黄亚平  阅读(263)  评论(0编辑  收藏  举报

导航