分区表的作用:
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 允许用户不指定分区列,完全根据程序来控制数据存储在那个分区中。

oracle分区表的优势相关推荐

  1. 深入学习Oracle分区表及分区索引

    关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: ?       Range(范围)分区 ?       Has ...

  2. java oracle 分区查询_深入学习Oracle分区表及分区索引

    深入学习Oracle分区表及分区索引 关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: •       Rang ...

  3. Oracle分区表及分区索引的创建

    关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: •       Range(范围)分区 •       Has ...

  4. 利用Oracle分区表来减少磁盘I/O冲突

    导读:当数据库管理员不知道该如何对表进行分区时,但确实有分区的必要时,可以使用散列分区.不过笔者需要提醒的是,散列分区其有一个重大的限制.在使用散列分区的时候,仅仅支持本地索引,而不支持其他的索引方式 ...

  5. ORACLE分区表、分区索引详解

    ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数据过程都是先定位根据查询条件定位分区范围,即数据在那个分区或那几个 ...

  6. oracle 分区表 字符串,ORACLE分区表、分区索引详解(转)

    今天逛论坛发现了一篇好文章,分享一下,自己也备个份,方便查找!! ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数 ...

  7. oracle分区表分区导出,Oracle分区表数据的导入与导出

    Oracle分区表的使用在一定程度上提高了对表数据的存储及处理性能,在查询性能和数据存储安全上体现了其特有的优势,因此很好的利用分区表,在一定程度上有利于数据库性能的优化.而Oracle分区表数据的导 ...

  8. oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法

    Oracle 分区表中存在range-list表分区时遇到问题及解决办法 我们遇到的通常是list分区这种居多,我就不介绍了. 以下解决的是 复合分区情况 表已存在,需要在范围分区中增加一个分区 我们 ...

  9. 导入导出 Oracle 分区表数据

    --**************************** -- 导入导出 Oracle 分区表数据 --**************************** 导入导入Oracle 分区表数据是 ...

最新文章

  1. hive sql 学习笔记
  2. 啊,我南非时间上午10点看成了。。
  3. vs2017 cmake android,CMake构建VS2017工程
  4. 信号调制产生边频的原理及希尔伯特解调
  5. 关于SSM项目中配置文件的一些心得
  6. 计算机考研专业课408什么意思,科普:考研408是什么意思
  7. 用大O记号法测量算法的效率(Algorithm efficiency Asymptotic notation Big O notation)
  8. python 前缀和总结
  9. Redis5.0新特性-集群管理器由redis-trib.rb迁移到redis-cli
  10. 1389: 程序员PIPI II
  11. 密室逃脱2 古堡迷城
  12. AntDesignVue中Table表格嵌套子表格expandedRowRender插槽用法
  13. DIY单片机串口打印函数print
  14. 207.课程表(java)
  15. 那些年,我们一起写过的单例模式
  16. WebRTC应用问题记录(附项目demo源码)
  17. iOS开发系列--IOS程序开发概览ios基础
  18. 播放mp4视频,有声音无图像,AVC(H264)编码转换
  19. 基于springboot的二手物品交易管理系统
  20. 旅行计划——老挝,柬埔寨

热门文章

  1. Zookeeper详解(三)——开源客户端curator
  2. 不错的电子书搜索引擎
  3. 【接口测试之自动化】接口测试工具
  4. 物流管理系统需要的服务器,用勤哲Excel服务器实现物流运输管理系统
  5. 高速 CAN 总线收发器DP1040C PIN对PIN兼容TJA1040
  6. 记录 Windows 下编译一个开源 SM9 签名验签 C 程序的过程
  7. php解三元一次方程,三元一次方程的求解
  8. 那些吓人的 Linux 命令
  9. 1179: 7101 最简单的计算机
  10. Springboot毕设项目高校体育场馆管理系统i0wqc(java+VUE+Mybatis+Maven+Mysql)