数据库优化方案《金院成绩查询系统优化方案》

数据库优化方案《金院成绩查询系统优化方案》

ID:38237668

大小:20.82 KB

页数:5页

时间:2019-05-30

数据库优化方案《金院成绩查询系统优化方案》_第1页
数据库优化方案《金院成绩查询系统优化方案》_第2页
数据库优化方案《金院成绩查询系统优化方案》_第3页
数据库优化方案《金院成绩查询系统优化方案》_第4页
数据库优化方案《金院成绩查询系统优化方案》_第5页
资源描述:

《数据库优化方案《金院成绩查询系统优化方案》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、金院成绩查询系统优化方案一:引言Oracle数据库性能问题通常都是由某些瓶颈引起的,所谓瓶颈就是数据不得不经过的一种流程或者路线,由于“该流程”不能迅速地处理数据,迫使通信速度“减慢”,进而增加了响应时间。简单而言,数据库软件就是提供了一种对数据进行操作的平台,因而数据在磁盘、内存、处理器之间移动过程中所产生的瓶颈也是最终系统体现出来的瓶颈。二:系统瓶颈对于OracleRAC而言,在RAC节点相互通信过程中,某一正在工作的处理器首先从自己节点所在内存读写数据,如没有会通过高速互连通道向其他节点内存读写(进程间通信IPC),最后才向共享磁盘读

2、写。这种数据访问顺序的采用是因为从内存读取数据的延迟要低于从其他节点内存读取数据的延迟,而从其它节点读取数据的延迟要低于从共享磁盘读取数据的延迟。这里涉及到几个关键的因素,即内存瓶颈、磁盘IO访问瓶颈。1、内存瓶颈:在数据库访问过程中,数据是先从磁盘空间读入内存,然后供CPU来调配使用的,因而内存空间越大,需要访问的数据就能更多的放在内存中,从而提高实际的数据访问处理速度。2、磁盘I/0瓶颈:从过去20年间到现在,CPU处理速度增加了570倍,而硬盘速度仅增加了20倍,存储系统的硬盘容量增长幅度远大于硬盘转速的增长,使硬盘单位容量的I/O性

3、能越来越低,磁盘IO性能已经成为严重制约系统性能提升的瓶颈。为了最大限度的降低磁盘IO访问瓶颈,通常是采用增加磁盘数量的方式,以提高磁盘IO的并行访问效率。单纯的增加磁盘的转速以提高IO访问性能,或者增加磁盘数量提高并行访问效率的做法,都有一定的局限性。3、发现瓶颈:据库巡检或性能优化方法各异,但首要的是要发现数据库性能瓶颈,系统自带的statspack,或awr太耗时,以下的个人的操作方法:1、查询数据库等待事件top10,关注前前几个等待事件,关注前三个等待事件是否有因果或关联关系。2、查询各种指标,根据各种指标反映的问题是否和等待事件

4、有关联关系,进一步确定问题所在。3、查看内存配置,查看内存配置是否合理(结合查询到的各种指标,初步判断内存是否合理)。4、查询三个top10sql语句,发现执行次数最多、内存、硬盘读取量大的sql,根据address查询在系统中的执行计划,是否需要进一步优化。根据address查询在系统中的执行计划(真实执行计划),这个不同setautotraceon(这个是预执行计划,真实情况不一定,这也是很多时候我们执行很好,但实际效率较低不得其解的原因)5、查询系统运行较长的sql语句,该语句能将多数的耗费资源的sql抓取到。根据address查询在

5、系统中的执行计划,是否需要优化。6、找到需要优化的sql语句,尝试优化,查看执行计划(setautotracetraceonly),直到满意为止7、查看各个表空间的使用状况,注意收益率超过80%的表空间。8、查看最大的前10大字段,是不是耗费资源的sql都是和这些大段有关。三、优化策略:1、针对SGA内存区的调整。一般来讲,在系统硬件支持的情况下,系统全局区越大越有利于数据库高效的运行。大的缓冲区高速缓存可以缓存更多的数据块,这样可以提高缓存命中率,节省物理磁盘读取的高昂代价;大的共享池意味着大的库高速缓存。库缓存越大,可以保存的SQL语法

6、分析信息越多;此外,数据库中的一些对象,如表、索引、过程、触发器、软件包等也在首次执行后进驻库高速缓存。大的库缓存可以保证对这些对象的高命中率,从而节省解析和载入代价。作为一个通用的优化原则,我们在解决该问题时,适当增大了SGA的容量,从而保证Oracle实例可以比较高效的运行。设置缓冲区高速缓存的容量为32M,设置共享池的大小为56M。运行rpt_lib.sql程序检查库高速缓存不足率(还没有运行该脚本),表明库缓存足够。2、查询优化的策略。索引是数据库中一个常用而重要的数据库对象,而优化查询重要的方法是建立索引,在关系数据库系统的表上建

7、立合适的索引,可以避免表扫描并减少因查询而造成的I/O开销,提高数据库数据查询的速度,改善数据库性能。但是创建索引会增加系统的时间和空间的开销。因此创建索引时必须要与实现应用系统的查询需求密切结合,才能达到优化查询的目的。判断索引必要性的最终标准则是判断这些索引是否对数据库的工作效率有所帮助。在实际应用的过程中,应该为优化工作做以下几点准备:首先必须熟悉数据库应用程序中所有的SQL语句,并从中统计出常用且可能对性能有影响的部分语句;然后分析、归纳出作为Where条件子句的字段及其各种组合方式;在这一基础上可以初步判断出哪些表的哪些字段应该建

8、立索引。其次,必须熟悉应用程序,要了解哪些表是数据操作频繁的表;哪些表经常与其他表进行连接;哪些表中的数据量可能很大;数据量大的表中各个字段的数据分布情况如何等等。对于满足上述条

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

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

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