<b>Oracle数据库段管理有本领-性能调优</b>[Oracle防范]
本文“<b>Oracle数据库段管理有本领-性能调优</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Oracle数据库中,段常常被用来存储特定逻辑对象的全部数据.如当成立数据库表大概索引时,Oracle就会为这些对象分配存储空间,以存放他们所需求的信息.段是由一个大概多个区构成的.不要看段是Oracle数据库中一个不起眼的角色,其实,在此中,仍旧躲藏着很多不为人知的管理本领.若数据库管理员可以掌握这些内容,大概,其工作会变得轻松很多.
本领一:对大表履行分区段.
表分区段用于存储分区表中某个分区的数据.如把某一个表分为几个区,每个区就对应一个表分区段.这么设置是可行的.因为按照段管理法则,在一个表空间上可以包含一个大概多个段,但是,一个段只可以存放在一个表空间上.
在实际工作中,我们常常会碰到这种情形.如在一个大型零售企业的信息化管理系统中,一张贩卖表的年纪据总量大概会到达几亿条,其数据总容量大概会有近十个G.假如平均分配到每个季度的话,则就有2.5G.此时,假如不对这张贩卖表举行分辨别段管理的话,则这一年的贩卖记录城市存储在一张表中.此时,假如需求做年度解析的话,那么数据库的性能将会遭到很大的影响.如目前用户想知道6、七月份空调的销量改变情形,此时数据库就需求扫描整个数据表中近10G的记录.这需求用户等候对比长的时间.
但是,此时若数据库管理员在数据库计划的时刻,就可以够预计到这种情形,对贩卖表举行分辨别段管理.即把这张贩卖表分区段管理,也就是说,把贩卖表分为四个分区段,每个季度一个区段.如此的话,若要统计6、七月份的空调贩卖情形,则只需求查询5G的数据便可,其数据查询量将近削减了一半.明显,在实际工作中,假如对大表举行分区段管理,则可以大大降低I/O次数,并有效提高数据库查询性能.若贩卖量大的话,乃至可以把贩卖表分为十二个区段,一个月对应一个区段.
所以,通过利用分区选项,采取表区段管理大表,可以将一张大表的数据布置到多个差别的分区段中.通过这种管理方法,可以降低I/O(输入输出)读取次数,终究提高I/O性能.这是数据库优化专家在提高数据库性能时,常常用到的一种手段.分外是在零售行业的信息化管理系统中,常常被用到.
本领二:公道操纵索引组织表段.
在Oracle数据库中,跟索引相关的表段主要有三个,辨别为索引段、索引分区段与索引组织表段.
索引段主要用来存储索引数据.当数据库管理员成立索引时,数据库系统就会自动为索引成立呼应的索引段,其名字跟索引的名称相同.在对索引段举行管理时,有一个基本的原则,即一个索引段只可以存放在一个表空间中.
索引分区段主要用来存储分区索引某个分区的数据.他跟笔者上面所说的表分区段近似.每个分区对应一个索引分区段.通过利用分区选项可以将大索引的数据布置到几个差别的分区段中,从而到达降低输入输出次数、提高数据库性能的目的.不过其在管理中,比表分区段多了一个限制条件,即索引分区只可以成立在分区表上,而不可以成立在普通表上.其他的管理跟分区表段近似,就不再反复阐述了.
索引组织表是以B数构造来组织表数据的,其对应的段就是索引组织表段.其管理方法跟索引段近似.当数据库管理员成立索引时,就会自动成立这个段,用来保存相关的数据.
目前摆在数据库管理员眼前,就有一个难题.在什么时刻用索引段,什么时刻用索引组织表段,又在什么时刻采取索引分区段呢?为此,笔者给出一个倡议,供大家参考.
普通情形下,假如表中的数据常常需求引用主键列莱检索的话,则可以考虑成立索引组织表,即通过索引组织段来管理.因为假如成立索引组织表段,则表和表主键索引的数据会存放在索引段中.从而提高查询的速度.而在普通表中,表与索引数据辨别存放在表段与索引段中.这就是二者最本质的辨别.别的需求提醒的是,假如数据库管理员成立索引组织表时,数据库开辟人员必必要定义主键列.不然的话,就会以失利告终.
而假如索引对比大的话,则可以将大索引的数据布置道几个差别的分去段中,这可以有效提高数据库的性能.
以上是“<b>Oracle数据库段管理有本领-性能调优</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |