基于Oracle9i数据库的查询优化

来源 :硅谷 | 被引量 : 0次 | 上传用户:hrk303968324
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 在企业信息化进程中,数据库查询是不可或缺的重要环节,数据库技术是一门新兴技术,但隶属于第三次工业革命——信息技术。如何实现快速、安全、优质、高效查询所需要的数据,就需要对数据库查询进行必要的优化。文章以Oracle9i数据库为例,系统的阐述了对Oracle9i数据库查询顺序、查询优化、查询对象等方面的数据库优化问题,希望能够为从事这个行业相关人员提供一些参考。
  关键词 查询顺序;查询对象;Oracle9i
  中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2014)04-0101-01
  信息技术的一个重要领域就是数据库技术,虽然作为第三次工业革命的信息时代的一个产物,但它对现代计算机信息管理和应用系统而言,却是当之无愧的基础和核心。在数据库技术这一领域一直占据着领先地位的Oracle公司精益求精,在Oracle8i系列方面已经衍生到了Oracle9i数据库。
  Oracle公司运行Oracle9i也是在Oracle8i的基础上进行的,Oracle9i数据库的参数依照Oracle8i的很多,在试运营一年后,通过对Oracle9i的新特性的了解才最终完善建立的。但是,任何事物都不是完美的化身,利用STATSPACK分析工具发现,Oracle9i在随后的独立运行中还存在数据库配置不合理的地方,最为明显的就是等待事件和磁盘I/O竞争的问题。当然还有其他一些小问题。不过,这些问题都是可以通过优化进行提高与完善的,本文所谈的就是基于Oracle9i数据库的查询优化这一方面的问题,希望同行指正。
  1 oracle9i查询顺序优化
  按照一般顺序,oracle9i数据库查询优化如下:首先要对调整环境进行优化,包括服务器、网络、硬盘、磁盘等方面;然后是对应用实例与应用对象进行优化调整;最后才是对关于oracle9i SQL方面的调整。
  理清了查询优化顺序,就需要对优化结果进行测试,以表容量为50M,记录条数为50万条的oracle9i数据为准进行。具体方法是,假如某一用户进行查询,该用户需要浏览的数据记录的起止位置,我们根据其要求通过计算得到该记录,将该位置加入到SQL语句中并执行SQL语句查询,通过SQL语句查询可以看出所查询到的数据表是否就是用户需要查询的数据表,也就是是否是用户需要进行浏览的记录的集合。测试过程如下:SELECT NAME,SEX,ID FROM(SELECT*FROM(SELECT*FROM BIG)WHERE ROWNUM < TOPOS ORDER BYROWNUM DESC)WHERE ROWNUM  2 oracle9i查询调整优化
  2.1 实例调整
  对于一般需要实例调整的对象来说,就是在后台对SGA内存区和oracle9i进行处理的过程,在这2个处理过程中,首先需要解决的问题是GA内存区的调整。
  2.1.1 内存区结构调整
  系统全局区就是SGA,这个区域很宽容,多个进程相互通信在内存中也不受影响。SGA在oracle9i中的地位首屈一指。SGA具有人性话设置:各户信息与系统进程不会冲突,设置一个缓冲区高速缓存就解决了问题,无论多少外来的合理数据,SGA都会统统接受,就像寄存店一样,你可以随时拿走你寄存的东西。
  SGA拥有保存着关于待执行的SQL语句的共享池。它包括两个方面的组成,即数据字典高速缓存及库高速缓存。前者是数据字典中读取的信息存放,我需要看就看;后者是存放那里,你不执行SQL语句信息就看不到。这里面提醒注意的就是,我们都执行同样的SQL语句,虽省去了语法分析步骤的昂贵花费,语法分析树和执行计划会不会被重新利用呢?这是万万不可取的。
  2.1.2 SGA结构调整
  计算机发展到今天,系统硬件依然是不可忽略的关键。数据库需要高效运行,需要系统全局区的扩大加强。系统硬件做好基础了,系统全局区才会配合数据库高效运行。换句话说,心有多大,舞台就有多大。这句话就适用于数据库。也就是库缓存与能够保存的语法分析信息成正比,随着数据库缓存的增多,能够保存的信息量就越多;而且,不管你运用什么方式进行查询,数据库都会满足你的需要,如表、索引、过程等其他内容,一旦进入驻库,也在首次执行后就高速缓存。你要节省解析和载入代价吗?可以,大的库缓存就可以保证对这些对象的高命中率。优化不是为了个人,而是为了全体。为此,我们对于SGA容量进行相应的增大,这样做的意图就是实现oracle9i实例高效运行。
  通过调整优化,即便导入或导出数据量较大的dmp文件时,其速度也显著加快。优化后,Java池的配置也得到了调整,进而实现了B/S结构程序提速,C/S结构系统数据库可以通过优化SGA参数来缩小Java池。
  2.2 对象调整
  调整的对象就是为优化性能而进行的每一个oracle9i,这其中包括对影响输入输出的参数在内的所有的存储参数进行设置,如Pctfree,pctused,freelist参数等。这些设置都会影响SQL的性能。以pctfree参数为例,对其进行调整要在设计出实际表之后进行。当然,Oracle9i数据库的对象调整还包括索引、过程等,由于一般电脑操作人员都会进行对其调整,我们就不再提及了。
  通过调整优化,SGA各内存参数配置合理,提高了查询命中率;表现在磁盘I/O方面则提高了控制和日志文件的打开速度,合理分配了数据文件;而且单独建立了使用16K表、keep pool等用户的临时表空间,重建了应用较多的索引,数据的访问得到加速,优化的目标得以实现。
  3 总结
  结合以上的叙述我们可以看出,进行数据库优化绝非一个简单的过程,在进行数据库查询优化过程中,我们不仅要通过查询优化顺序逐一进行调整,而且还要从提高查询速度,提升数据库服务性能,增强数据库的管理方面下功夫,以此满足用户安全、稳定、快捷的数据库服务的需求。
  参考文献
  [1]李圣陶.基于Oracle的数据迁移优化方法研究[D].苏州大学,2010.
  [2]李可可.浅析Oracle数据库的性能优化方法[J].硅谷,2011(02).
  [3]朱晴.基于Oracle9i数据库系统性能优化[J].电脑知识与技术,2007(12).
  [4]刘英霞,刘一臻.Oracle9i数据库性能调优技术应用研究[J].辽宁科技学院学报,2009(01).
  作者简介
  王茜,吉林人,2012年毕业于东北师范大学人文学院计算机科学与技术系,理学学士,现在大庆油田信息技术公司信息技术北京分公司从事网管组报表数据工作。
其他文献
石墨氮化碳(g-C_3N_4)是近年来发现的一种新型的荧光材料,不含任何有毒金属元素,在生物成像、生物传感等领域具有潜在的应用。对g-C_3N_4在检测重金属离子、易爆炸物、生物分
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
目的探讨中风患者的中医护理措施。方法回顾分析60例患者的临床资料。结果经精心护理,60例中,治愈26例,好转31例,死亡3例。结论护理人员必须具有高度的责任心及中医护理专业
在p H为3.87的Tris-盐酸介质中,Cu(Ⅱ)与固绿FCF在溴代十六烷基吡啶(TPB)存在下结合生成离子缔合物,使体系的瑞利光散射(RLS)信号显著增强并产生新的瑞利散射光谱,最大瑞利散
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
期刊
期刊
目的探讨慢性硬膜下血肿(CSDH)钻孔冲洗引流术后并发症发生的原因及护理对策。方法总结我院2010年1月~2012年2月采用钻孔引流术(BHD)治疗CSDH患者36例,其中15例出现并发症,结合