基于oracle9i数据库的查询优化

基于oracle9i数据库的查询优化

ID:24733820

大小:55.00 KB

页数:6页

时间:2018-11-10

基于oracle9i数据库的查询优化_第1页
基于oracle9i数据库的查询优化_第2页
基于oracle9i数据库的查询优化_第3页
基于oracle9i数据库的查询优化_第4页
基于oracle9i数据库的查询优化_第5页
资源描述:

《基于oracle9i数据库的查询优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Oracle9i数据库的查询优化摘要:Oracle9i数据库的任务是存储和管理数据,而我们用户能看到的有关数据库特性就是它的性能,数据库的查询操作是影响一个应用系统响应时间的关键因素。科学合理地构造查询系统,是成功开发数据库应用系统非常重要的环节。本文主要介绍Oracle9i的查询优化程序及其组成,从基于索引、SQL优化、以及其它措施各个方面阐述了ORACLE数据库查询效率提高的经验和方法。关键词:ORACLE数据库;SQL;数据库索引;查询优化QueryOptimizationMethodofORA

2、CLE9iDatabaseAbstract:Thebasictasksofadatabasearedatastorageandmanagement,andtheonlycharacteristicofthedatabasethatterminaluserscanseeisitscapability,adatabaseenquiryoperationistheimpactofthekeyfactorsofapplicationsresponsetime.Thus,thequerysysteminalogic

3、andreasonablesuccessfully.Soconstructthequerysystemreasonablyisaveryimportantlinkofdevelopthedatabaseapplicationsystemsuccessfully.ThispaperhasintroducedtheexperiencesandmethodsofraisingthequeryefficiencyofORACLEdatabasefromthefolloproving,largetablesquer

4、yoptimizing,andtuningofSQLstatement..lunization引言:1ORACLE9i数据库常见的资源瓶颈类型ORACLE9i数据库运行时,常见的瓶颈现象有以下几种类型:内存瓶颈:当ORACLE9i进程需要更大的内存空间超过系统可提供时。磁盘I/0瓶颈:由于内存缓冲区的空间不足,或者表空间及其文件在硬件上的分配不合理而导致进程对磁盘的频繁I/0读写。CPU瓶颈:尽管多数情况下,都是由操作系统的内核来管理分配有效的CPU给ORACLE9i数据库进程使用,但是,仍然会出现过多的

5、应用进程对CPU使用周期激烈竞争的现象。ORACLE9i资源瓶颈。对以上各种资源瓶颈,通常可以从多个方面进行调整,但是,当对ORACLE9i数据库某一方面进行调整后,必然会影响到其它方面的性能。所以,对ORACLE服务器进行性能优化调整,应该采取一种综合优化调整策略,本文重点阐述对数据库查询优化方法。2针对SGA内存区的调整首先进行Oracle实例调整。Oracle实例涉及到SGA内存区和一组Oracle后台处理进程。对Oracle实例的调整就是对SGA内存区和Oracle后台处理进程的调整。在对该问题的

6、解决中,主要是针对SGA内存区的调整。2.1SGA内存区结构SGA就是系统全局区,是指内存中允许多个进程相互通信的区域。在Oracle中,SGA对所有进程来说都是全局的可用的。图1为SGA结构图。缓冲区高速缓存是SGA中为所有用户和系统进程保存数据的区域,任何数据在传递给一个调用的应用程序之前,都必须驻留在这片高速缓存中。这片区域是共享的,所以多个进程可以从这片高速缓存读取同样的数据块,而不必每次都从物理磁盘中读取。共享池是SGA中的另一个区域,其中保存着关于待执行的SQL语句的信息。他由两部分组成:数据

7、字典高速缓存,存放从数据字典中读取的信息以用于处理SQL请求;库高速缓存,存放需要执行的SQL语句信息,包括每个SQL语句的语法分析树和执行计划。如果多个用户要执行同样的SQL语句,那么语法分析树和执行计划就可以重复利用,省去了语法分析步骤的昂贵花费。2.2调整SGA结构一般来讲,在系统硬件支持的情况下,系统全局区越大越有利于数据库高效的运行。大的缓冲区高速缓存可以缓存更多的数据块,这样可以提高缓存命中率,节省物理磁盘读取的高昂代价;大的共享池意味着大的库高速缓存。库缓存的内存结构如图2所示。图2库缓存的

8、内存结构库缓存越大,可以保存的SQL语法分析信息越多;此外,数据库中的一些对象,如表、索引、过程、触发器、软件包等也在首次执行后进驻库高速缓存。大的库缓存可以保证对这些对象的高命中率,从而节省解析和载入代价。作为一个通用的优化原则,我们在解决该问题时,适当增大了SGA的容量,从而保证Oracle实例可以比较高效的运行。设置缓冲区高速缓存的容量为32M,设置共享池的大小为56M。运行rpt_lib.sql程序检查库高速缓存不足率

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。