<b>全面解析Oracle数据库中的分区功效</b>[Oracle防范]
本文“<b>全面解析Oracle数据库中的分区功效</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Oracle分区功效可以提高很多利用程序的可管理性、性能与可用性.通过度区功效,可以将表、索引和索引组织表进一步细分为段,从而可以更切确地管理和拜候这些数据库对象.Oracle供应了种类繁多的分区筹划以满意每种业务要求.
并且,因为在 SQL 语句中分区是完好透明的,所以该功效几近可利用于任何利用程序.
分区功效的上风
分区功效通过改进可管理性、性能和可用性,从而为各式利用程序带来了极大的好处.普通,分区可以使某些查询以及保护操作的性能大大提高.此外,分区还可以极大简化常见的管理任务.通过度区,数据库计划人员和管理员可以办理前沿利用程序带来的一些难题.分区是构建千兆字节数据系统或超高可用性系统的关键工具.
分区功效的基本知识
分区功效可以将表、索引或索引组织表进一步细分为段.这些数据库对象的段叫做分区.每个分区有自己的名称,还可以挑选自己的存储特点.从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可举行集体管理,也可单独管理.这就使数据库管理员在管理分区后的对象时有相当大的机动性.但是,从利用程序的角度来看,分区后的表与非分区表完好相同,利用 SQL DML 号令拜候分区后的表时,无需任何改正.
表的分区是通过“分区键”来实现的,分区键指的是一些列,这些列决意了某一行所在的分区.Oracle 数据库 10g 供应了六项技术用于对表举行分区:
范围分区
每个分区都由一个分区键值范围指定(关于一个以日期列作为分区键的表,“2005 年 1 月”分区包含分区键值为从“2005 年 1 月 1 日”到“2005 年 1 月 31 日”的行).
列表分区
每个分区都由一个分区键值列表指定(关于一个区域列作为分区键的表,“北美”分区大概包含值“加拿大”“美国”和“墨西哥”).
散列分区
将散列算法用于分区键来肯定指定行所在的分区.
组合范围散列分区
范围和散列分区技术的组合,通过该组合,首先对表举行范围分区,然后针对每个单独的范围分区再利用散列分区技术进一步细分.索引组织表只能举行范围分区.
组合范围列表分区
范围和列表分区技术的组合,通过该组合,首先对表举行范围分区,然后针对每个单独的范围分区再利用列表分区技术进一步细分.索引组织表可以按范围、列表或散摆列行分区.
Oracle 数据库 10g 还供应了三种范例的分区索引:
本地索引
本地索引是其分区方法与其所在底子表的分区方法一模一样的索引.本地索引的每个分区仅对应于其所在底子表的一个分区.
全局分区索引
全局分区索引是利用差别于其所在表的分区键举行分区的索引,其所在表可以是分区表或非分区表.全局分区的索引可以利用范围或散列分区举行分区.比方,某个表可以按月份举行范围分区,因此具有十二个分区,而该表上的索引则可以利用差别的分区键举行范围分区,从而具有差别的分区数目.
全局非分区索引
全局非分区索引基本上和非分区表的索引一样.索引构造是不分区的.
Oracle 供应了一系列丰富的技术,可用于对表、索引和索引组织表举行分区,因此可以针对任何业务环境中的任何利用程序举行最佳的分区 Oracle 还供应一套完好的 SQL 号令,用于管理分区表.此中包含增添新分区、删除分区、分拆分区以及归并分区的号令.
用分区功效提高可管理性
通过 Oracle 分区功效,可将表和索引分成更多、更小的可管理单元,从而使数据库管理员能以“化整为零,个个击破”的方法管理数据.
利用分区功效,保护操作可集合于表的特定部份.比方,数据库管理员可以只对表的一部份做备份,而没必要对整个表做备份.对整个数据库对象的保护操作,可以在每个分区的底子上举行,从而将保护工作分化成更简单管理的小块.
操纵分区功效提高可管理性的一个典型用法是支持数据仓库中的‘转动视窗’加载进程.假定数据库管理员每周向表中加载新数据.可以对该表举行范围分区,使每个分区包含一周的数据.这样加载进程只是简单地增添新的分区.增添一个分区的操作比改正整个表效率高很多,因为 DBA 不需求改正任何其他分区.
用分区功效提高性能
由于限制了所查抄或操作的数据数目,同时支持并行任务履行,Oracle 分区功效实现了性能上增益.这些特点包含:
分区修整
分区修整是用分区功效提高性能的最简单最有代价的手段.分区修整常常可以将查询性能提高几个数目级.比方,假定某个利用程序包含一个存储订单历史记录的 Orders 表,并且此表已按周分区.查询一周的订单只需拜候该订单表的一个分区.假如该订单表包含两年的历史记录,这个查询只需求拜候一个分区而不是一百零四个.该查询的履行速度因为分区修整而有大概快一百倍.分区修整能与全部其他 Oracle 性能特点合作.Oracle 能将分区修整功效与任何索引技术、联接技术或并行拜候办法结合利用.
分区智能联接
分区功效可以通过称为分区智能联接的技术提高多表联接的性能.当两个表要联接在一同,并且每个表都用联接键来分区时,便可以利用分区智能联接.分区智能联接将大型联接分化成较小的发生在各个分区间的联接,从而用较少的时间完成全部联接.这就给串行和并行的执ERP研发部心得领会行都能带来明显的性能改进.
用分区功效提高可用性
分区的数据库对象具有分区独立性.该分区独立性特点大概是高可用性战略的一个重要部份,比方,假如分区表的一个分区不能用,但该表的全部其他分区仍旧保持在线并可用.那么这个利用可以持续针对该分区表履行查询和事件处理,只要不是拜候不可用的分区,数据库操作仍旧可以成功运行.
数据库管理员可以指定各分区存放在差别的表空间里,从而让管理员断绝别的表分区针对单个分区举行备份与恢复操作.还有,分区功效可以削减筹划停机时间.由于分区功效改进了性能,使数据库管理员能用相对较少的时间完成大型数据库对象的保护工作.
将来发展方向
自从引入分区技术以来,Oracle 公司在每次推出重要版本时城市增添新的分区办法.Oracle8 引入了范围分区功效,Oracle8i 引入了散列和组合范围散列分区功效,Oracle9i 引入了列表分区功效.在最新版本 Oracle 数据库 10g 中,则加强了用于索引组织表和全局父亲节:祝爸爸节日欢愉分区索引的分区战略,并且扩大了其用于全部分区保护操作的并发索引保护功效.Oracle 公司努力于不断完善分区技术,确保满意全部的业务需求.
结论
具有 Oracle 分区功效的 Oracle 数据库 10g 可以明显加强几近任何数据库利用程序的可管理性、性能和可用性.分区功效可用于前沿利用程序,分区功效确切可以成为保障这些利用程序成功的关键技术成份.同时,分区功效也可用于较为普通的数据库利用,来简化这些利用的管理工作,降低管理本钱.
以上是“<b>全面解析Oracle数据库中的分区功效</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |