SQL优化技术在油田开发数据库中的应用研究

来源 :硅谷 | 被引量 : 0次 | 上传用户:lvyuxuan36520091
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 通过河南油田开发数据库数据量统计工作的体会,针对SQL优化在Oracle数据库工作中的应用作以总结和研究。以便对以后的工作有很好的指导促进作用,提高生产、科研工作效率。
  关键词: PL/SQL Developer;Oracle;SQL;优化
  中图分类号:TP 文献标识码:A 文章编号:1671-7597(2011)0310090-01
  
  1 SQL语句优化技术概述
  1.1 SQL在数据库中的工作步骤
  SQL语句在数据库中的工作流程分为5个步骤:服务器收到SQL语句、SQL语句解析、数据库的优化器决定执行路径、变量赋值、执行。
  1.2 SQL优化的规则
  SQL语句优化的目标是使其简单有效,有以下规则:
  消除不必要的大表全表搜索:不必要的全表搜索导致大量不必要的I/O,从而拖慢整个数据库的性能。在一个有序的表中,如果查询返回少于40%的行,或者在一个无序的表中,返回少于7%的行,那么这个查询都可以调整为使用一个索引来代替全表搜索。
  确保最优的索引使用:对于改善查询的速度,这是特别重要的。有时Oracle 可以选择多个索引来进行查询,调优专家必须检查每个索引并且确保Oracle 使用正确的索引。它还包括bitmap 和基于函数的索引的使用。
  这些规则看来简单,不过它们占SQL调优任务的90%[2]。
  2 油田开发数据库应用实例
  在统计静态数据表如表DAA05单井小层数据表时,要求统计出该表的井口数量、列出井号、解释序号两个数据项,在新表中显示井号和researcherList两列,以井号首字母拼音排序,并将同一口井的解释序号列的数据都归入researcherList列中。
  这里主要用到SQL语句在Oracle查询中的查询、合并行、和并列和排序几个方面,按照常规的组合查询方式的代码如下图一,输出结果图图二:
  在面对有十多万行的数据表时,就要求需要在SQL语句的编写上加以优化简练,当使用create index、ORDER BY或者GROUP BY的语句时,Oracle数据库将会自动执行排序的操作。
  当与Oracle建立起一个session时,在内存中就会为该session分配一个私有的排序区域。如果该连接是一个专用的连接(dedicated connection),
  那么就会根据init.ora中sort_area_size参数的大小在内存中分配一个Program Global Area (PGA)。因此,在分配足够的排序区域以避免发生大的排序任务时出现磁盘排序(disk sorts)的同时,对于那些并不需要进行很大排序的任务,就会出现一些浪费。
  可以将以上语句组合简化至如三:
  对比两次查询可以看出,在查询结果输出相同的情况下,未经优化的SQL执行时间为266.569秒,六分多钟。而经过简洁优化后的SQL语句执行时间为66.394秒,仅之前时间的六分之一,也就是此次优化语句的效率提高了6倍。
  利用优化语句分别对DAA03(井斜数据表,统计井口数量2331口)、DAA07(油层分组数据表,统计井口数量2731口)、DAA091(射孔井段数据表,统计井口数量2278口)等多个表进行查询统计,总体的工作效率提高了几十倍。
  3 总结
  在多数情况下,数据库使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。
  
  参考文献:
  [1](美)富尔斯汀,《ORACLE PL/SQL最佳实践(第1版)》,龚波、张平、潘显俊等译,机械工业出版,2008年3月.
  
  作者简介:
  王辉,男,中国石化河南油田分公司勘探开发研究院。
其他文献
我们曾对具有血淤证特点的血栓闭塞性脉管炎(TAO)患者的血液,作过14项高凝指标的测定,结果发现10项有明显异常,除证实血液流变性异常与血小板聚集性增高外,尚发现因子Ⅷ相关
摘要: 首先介绍properties的基本理论和它的功能,然后分析并得出properties读写文件时处理中文排序的相关算法,从而为研究人员和开发人员基于需要选择使用properties提供依据。  关键词: Java;JDK;properties  中图分类号:TP 文献标识码:A 文章编号:1671-7597(2011)0310075-01    1 properties概述  Propert
用南瓜250克,蒸熟后捣成泥状,放凉,加入蜂蜜15克拌匀,放冰箱里备用。每天早晚吃饭前取出来,空腹吃50克。中医认为南瓜能润肺益气、化痰排脓、驱虫解毒、治咳止喘、疗便秘,并
摘要: 针对网络入侵检测系统的几个瓶颈,对网络入侵检测系统做研究。在此基础上设计一个整体策略,并给出网络入侵检测系统的基本实现,最后给出基于CEV规则库的应用。  关键词: 网络入侵;检测系统;设计  中图分类号:TP309 文献标识码:A 文章编号:1671-7597(2011)0310080-01    0 引言  在网络的入侵检测系统的基础之上则需要改变网卡(network interfac
21世纪是知识经济时代,是信息化时代. 随着信息技术的日趋成熟,近年来,熟练掌握信息技术已经成为人们必备的一项基本技能. 在高中信息技术的教学过程中,教师也应当加强学生信
摘要: 在单片机控制应用中,经常会遇到需要短时间延时的情况,有时还需要很高的精度。然而每次延时都使用定时器/计数器是没有必要的也是不现实的,利用软件延时程序来完成一些需要延时的部分势在必行。从研究软件延时程序模式出发,指出计算整个延时时间的具体方法,并在此基础上归纳一种设计精确软件延时的数学算法。  关键词: 单片机;软件延时;数学算法  中图分类号:NT 文献标识码:A 文章编号:1671-75
摘要: 铝合金半连续铸造含有许多地理分散的子系统,它需要建构一个网络系统为管控生产过程与进行综合自动来创造条件。所以我们就有必要来对铝合金半连续铸造的生产过程进行网络监控系统进行研究。通过分析铝合金半连续铸造生产技术的提升以及网络监控的设计要求后,对系统的总体的设计进行构想与并提出一种结合现场总线与以太网的混合式铝合金半连续铸造网络监控系统。  关键词: 铝合金半连续铸造;网络;监控系统  中图分
李清照与丈夫赌书泼茶,诗词唱和,互相鼓励,创下文坛一段佳话;吴老师与我们以书会友,文来字往,乐在其中,写下教坛多少美丽诗章.rn记得那年年纪小,最是贪玩懒散,无意中成为“吴
期刊
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
摘要: 使用EasyJWEB的开发框架,开发一种客户服务系统。该客户访问服务系统能够将客户的Case信息进行记录;保存客户信息和合同信息;通过FSK协议,采用单片机板作为来电解码组建进行来电解码并进行记录;并有客户信息管理和发函信息管理的功能。提高工作效率,降低运营成本采用免费的mysql做为后台的数据库支撑,降低软件成本,适合中小企业采用。  关键词: EasyJWEB;客户服务系统  中图分类