欢迎来到天天文库
浏览记录
ID:20631185
大小:87.66 KB
页数:13页
时间:2018-10-14
《基于oracle9i数据库的查询优化.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于0racle9i数据库的查询优化摘要:0raCle9i数据库的任务是存储和管理数据,而我们用户能看到的有关数据库特性就是它的性能,数据库的查询操作是影响一个应用系统响应时间的关键因素。科学合理地构造查询系统,是成功开发数据库应用系统非常重要的环节。本文主要介绍0racle9i的查询优化程序及其组成,从基于索引、SQL优化、以及其它措施各个方面阐述了ORACLE数据库查询效率提高的经验和方法。关键词:ORACLE数据库;SQL;数据库索弓查询优化QueryOptimizationMethodofO
2、RACLE9iDatabaseAbstract:Thebasictasksofadatabasearedatastorageandmanagement,andtheonlycharacteristicofthedatabasethatterminaluserscanseeisitscapability,adatabaseenquiryoperationistheimpactofthekeyfactorsofapplicationsresponsetime.Thus,thequerysystemina
3、logicandreasonablewayisthekeytodevelopdatabaseapplicationsystemsuccessfully.Soconstructthequerysystemreasonablyisaveryimportant1inkofdevelopthedatabaseapplicationsystemsuccessfully.Thispaperhasintroducedtheexperiencesandmethodsofraisingthequeryefficien
4、cyofORACLEdatabasefromthefollowingfouraspects:hitratioimproving,largetablesqueryoptimizing,andtuningofSQLstatement.论文网在线Keywords:ORACLEdatabase;SQL;Index;queryoptimization引百:1ORACLE9i数据库常见的资源瓶颈类型ORACLE9i数据库运行时,常见的瓶颈现象有以下几种类型:内存瓶颈:当ORACLE9i进程需要更大的内存空间超过
5、系统可提供时。磁盘I/O瓶颈:由于内存缓冲区的空间不足,或者表空间及其文件在硬件上的分配不合理而导致进程对磁盘的频繁I/O读写。CPU瓶颈:尽管多数情况下,都是由操作系统的内核来管理分配有效的CPU给ORACLE9i数据库进程使用,但是,仍然会出现过多的应用进程对CPU使用周期激烈竞争的现象ORACLE9i资源瓶颈。对以上各种资源瓶颈,通常可以从多个方面进行调整,但是,当对ORACLE9i数据库某一方面进行调整后,必然会影响到其它方面的性能。所以,对ORACLE服务器进行性能优化调整,应该采取一种综
6、合优化调整策略,本文重点阐述对数据库查询优化方法。2针对SGA内存区的调整首先进行Oracle实例调整。Oracle实例涉及到SGA内存区和一组Oracle后台处理进程。对Oracle实例的调整就是对SGA内存区和Oracle后台处理进程的调整。在对该问题的解决中,主要是针对SGA内存区的调整。2.1SGA内存区结构SGA就是系统全局区,是指内存中允许多个进程相互通信的区域。在Oracle中,SGA对所有进程来说都是全局的可用的1为SGA结构图。缓冲区高速缓存是SGA中为所有用户和系统进程保存数据的
7、区域,任何数据在传递给一个调用的应用程序之前,都必须驻留在这片高速缓存中。这片区域是共享的,所以多个进程可以从这片高速缓存读取同样的数据块,而不必每次都从物理磁盘中读取。共享池是SGA中的另一个区域,其中保存着关于待执行的SQL语句的信息。他由两部分组成:数据字典高速缓存,存放从数据字典中读取的信息以用于处理SQL请求;库高速缓存,存放需要执行的SQL语句信息,包括每个SQL语句的语法分析树和执行计划。如果多个用户要执行同样的SQL语句,那么语法分析树和执行计划就可以重复利用,省去了语法分析步骤的昂
8、贵花费。调整SGA结构一般来讲,在系统硬件支持的情况下,系统全局区越大越有利于数据库高效的运行。大的缓冲区高速缓存可以缓存更多的数据块,这样可以提高缓存命中率,节省物理磁盘读取的高昂代价;大的共享池意味着大的库高速缓存。库缓存的内存结构如图2所示。图2库缓存的内存结构库缓存越大,可以保存的SQL语法分析信息越多;此外,数据库中的一些对象,如表、索引、过程、触发器、软件包等也在首次执行后进驻库高速缓存。大的库缓存可以保证对这些对象的高命中率,从而节省解析和载入代价。作为
此文档下载收益归作者所有