oracle分区表的优势

分区表的作用:
Oracle 的表分区功能可以使某些查询以及维护操作的性能大大提高

分区表优缺点:
(1)由于将数据分散到各个分区中,减少了数据损坏的可能性;
(2)可以对单独的分区进行备份和恢复;
(3)可以将分区映射到不同的物理磁盘上,来分散 IO;
(4)提高可管理性、可用性和性能。
(5)缺点:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在 线重定义表的功能。
(6)特殊性:含有 LONG、LONGRAW 数据类型的表不能进行分区,一般分区类型为:varchar,varchar2,number,date
(7)每个表的分区或子分区数的总数不能超过 1023 个。

什么时候用分区表(设计原则):
(1)单表过大,当表的大小超过 2GB,或对于 OLTP 系统,表的记录超过 1000 万, 都应考虑对表进行分区。
(2)历史数据据需要剥离的,表中包含历史数据,新的数据被增加到新的分区中。
(3)查询特征非常明显,比如是按整年、整月或者按某个范围!
(4)基于表的大部分查询应用,只访问表中少量的数据。
(5)按时间段删除成批的数据,例如按月删除历史数据。
(6)按时间周期进行表空间的备份时,将分区与表空间建立对应关系。
(7)如果一个表中大部分数据都是只读数据,通过对表进行分区,可将只读数据存储在只读表空间中,对于大数据库的备份是非常有益的。
(8)对于经常执行并行查询的表应考虑进行分区。
(9)当对表的部分数据可用性要求很高时,应考虑进行表分区。

分区表的类型:
(1)范围分区(Range Partitioning) 8i+,以某一个范围进行分区。eg:时间段划分。
(2)列表分区(List Partitioning) 9i+, 以某一些几个值进行分区。eg:地区分区,省份进行划分。
(3)哈希分区(Hash Partitioning),8i+, 根据 hash 值进行的散列分区 ,可以有效的消除 io 的竞争。 更多用在组合分区的子分区中。 不是很均衡,内部的算法,控制不了
(4)复合分区,也就是组合分区,9i 开始,Oracle 就包括了 2 种复合分区,RANGE-HASH 和 RANGE-LIST。
8i+ 在 11g, Oracle 一下就提供了 4 种复合分区: RANGE-RANGE 、 LIST-RANGE、LIST-HASH 和 LIST-LIST 。大分区里面包含小分区
(5)间隔分区(Interval Extension to Range Partitioning (11g) ), 它就是以一个区间分区表为“起点”,并在定义中增加了一个规则(即间隔), 使数据库知道将来如何增加分区。
eg:比如每个月增加一个分区,从而省去了你不断的 ADD 或者 SPLIT 新的分区。

(6)参考分区(Referential Partitioning (11g)) 对于主子表关系,如果对主表进行了分区,那么可以在子表上根据外键约 束来建立对应主表的分区。
(7)虚拟字段分区(Virtual Column Partitioning (11g)), 虚拟列的值从其他的列推导而来,Oracle 只保存源数据,这个列不占存 储空间。虚拟列其中一个引申功能就是虚拟列分 区功能。
11g 增加对虚拟列的支持, 这使得分区功能更加灵活。
(8) 系统分区 11g 11g 以前的分区表,需要指定一个或多个分区字段,并根据这个分区字段 的值,按照一定的算法(RANGE、HASH 和 LIST)来决定一条记录属于那个分区。
从 11g 开始,Oracle 允许用户不指定分区列,完全根据程序来控制数据存储在那个分区中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值