欢迎来到天天文库
浏览记录
ID:5597641
大小:28.00 KB
页数:6页
时间:2017-12-19
《oracle分区表在油田勘探开发数据库中应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Oracle分区表在油田勘探开发数据库中应用 摘要:本文以油田开发动态“采油井日数据”表为例,详细介绍了Oracle分区表的应用。分区表的优点在于通过把一个大型的表按照一定的条件分割成若干个较小的分区,可以显著提高表的查询性能,一个查询可能只需要搜索某个或几个分区而不是整个表就可完成。备份和恢复的可操作性亦得到改善。管理简单,与普通表相比并没有增加复杂度。【关键词】Oralce分区表勘探开发数据库应用油田的勘探开发数据量是海量的,随着油田勘探和开发的进行,数据量直线增长。庞大的数据在查询、备份、恢复和管理中性能的影响也将随之增加。无论是备份还是恢复,将
2、耗费大量的时间,对查询性能的影响则更加突出,长时间的等待将使得建立其上的应用难以实用和推广。Oracle分区表的应用则可解决以上问题,通过把一个大型的表按照一定的条件分割成若干个较小的分区,可以显著提高表的查询性能,一个查询可能只需要搜索某个或几个分区而不是整个表就可完成。与此同时,备份和恢复的可操作性亦得到改善,针对分区的备份和恢复的操作方法更多。6下面以油田开发动态数据库中“采油井日数据”为例详解分区表的具体应用操作方法。1分区表与子分区的创建将一个大型表划分成若干个分区的方法主要有三类:范围分区、散列分区和列表分区。范围分区按表中字段值的范围来决定
3、存储在哪个分区;散列分区通过在分区键值上执行一个散列函数来决定存储数据的物理位置;列表分区告诉Oracle所有可能的值,指定应该插入相应行的分区。由于列表分区和范围分区对油田来说是最适用的方法,所以在此以列表分区法分区并以范围分区法为子分区为例来说明。在不采用分区时,通常创建“采油井日数据”表的语句为:createtableDBA01(JHvarchar2(16)primarykey,RQdate,CYFSvarchar2(3),DYDMvarchar2(6),DWMCvarchar2(16),/*……*/);6我们采用分区表的方式来创建此表,以“单位名
4、称”字段的值来划分分区,一个大数据量的单位划分独立的分区,剩下的小数据量单位一起放在一个独立分区里。以上语法修改为:createtableDBA01(/*略去相应部分*/)partitionbylist(DWMC)(partitionp_list_1values(‘采油一厂’)/*采油一厂数据分区*/tablespacep_list_1_ts,/*存储采油一厂数据的表空间*/partitionp_list_1values(‘采油二厂’)tablespacep_list_1_ts,partitionp_list_1values(‘采油三厂’)tablesp
5、acep_list_1_ts,/*……*/partitionp_list_n(default)/*剩余小数据量单位数据分区*/tablespacep_list_n_ts/*存储剩余小数据量单位数据的表空间*/);6这样,就把“采油日报”这个与日俱增的大型动态表分成了以单位为分区的分区表,各单位在查询数据时就不必遍历整个表,而是仅在自己单位的分区里搜索,大大提高了查询性能,缩短了等待时间,降低了服务器I/O占用率。然而,随着一年年的推移,每个单位分区的数据也在不断的扩张,这时,我们可以用范围分区法以时间来划分子分区,进一步提高查询性能。以上语法进一步修改为
6、:createtableDBA01(/*略去相应部分*/)partitionbylist(DWMC)subpartitionbyrange(RQ)(partitionp_list_1values(‘采油一厂’)(subpartitonp_list_1_sub_1valueslessthan(to_date(’01-1月-2006’,’DD-MM-YYYY’))subpartitonp_list_1_sub_2valueslessthan(to_date(’01-1月-2011’,’DD-MM-YYYY’))subpartitonp_list_1_sub_
7、3valueslessthan(to_date(’01-1月-2016’,’DD-MM-YYYY’))/*……*/subpartitonp_list_1_sub_othervalueslessthan(maxvalue))tablespacep_list_1_ts,/*下面语句写法与上类例,略去*/);62索引分区的创建有分区表,也有索引分区。下面的语句创建索引分区,可以为每个分区创建独立的索引分区:createindexDBA01_INDonDBA01(DWMC)local(partitionp1_list_1tablespacep1_list_1_i
8、ndex_ts,/*索引存放表空间*/);partitionp1_list_2t
此文档下载收益归作者所有