Oracle SQL语法和性能优化

Oracle SQL语法和性能优化

ID:38581834

大小:157.00 KB

页数:10页

时间:2019-06-15

Oracle SQL语法和性能优化_第1页
Oracle SQL语法和性能优化_第2页
Oracle SQL语法和性能优化_第3页
Oracle SQL语法和性能优化_第4页
Oracle SQL语法和性能优化_第5页
资源描述:

《Oracle SQL语法和性能优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OracleSQL的性能优化目录OracleSQL的性能优化11.术语12.性能优化的策略和原则23.常见的诊断和性能优化工具33.1.操作系统参数的监控:33.2.数据库参数调整33.3.应用系统的通用优化工具43.4.Sql的优化工具54.SQL优化的基本原则55.一些有用的sql语句86.思考91.术语RBO和CBO:Oracle的优化器共有两种的优化方式,即基于规则的优化方式(Rule-BasedOptimization,简称为RBO)和基于代价的优化方式(Cost-BasedOptimizatio

2、n,简称为CBO)。A、RBO方式优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。B、CBO方式依词义可知,它是看语句的代价(Cost)了,这里的代价主要指Cpu和内存。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每行的长度等信息。这些统计信息起初在库内是没有的,是你在做analyze后才出现的,很多的时侯过期统计信息会令优化器做出一个错误的执行计划,因些我们应及时更新这些信

3、息。内存分配(SGA和PGA)SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。这些参数影响数据库的系统全局区域(SGA)。每当一个Oracle9i数据库例程启动时,都在内存中分配SGA。SGA是一组共享的内存结构,包含一个Oracle9i数据库系统的数据和控制信息。如果多个用户同时连接到相同的数据库例程,这些用户将共享SGA中的数据。10/101.性能优化的

4、策略和原则性能优化的策略和原则Oracle数据库的性能优化策略一般包括服务器操作系统参数调整、数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面,而应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle数据库的性能。优化调整主要集中在以下几个方面设计调整—应用的设计是ORACLE性能中最重要的因素。实例调整—调整PGA、SGA等初始化参数。对象调整—对表及索引的存储参数如pctfree、pctuse、freelists等。这些参数能对性能参

5、数比较大的影响。SQL调整—因为对数据库的访问是通过SQL来实现的所以这部分的调整最花时间。服务器、网络及磁盘调整—如果出现诸如CPU忙、内存交换频繁、磁盘I/O瓶颈等情况,我们需检查服务器、网络及磁盘配置。一般性能优化的基本方法1.设立合理的性能优化目标我们做任何事情都会有个目标,没有了目标就会茫然,不知所措,性能优化也不例外。有了目标还是不够的,就像我们平时说的要优化系统,要优化到什么程度呢?所以说设立目标的最重要的一点是它们必须是可量化和可达到的。例如对关键的某个过程或SQL花费了多少时间,要求

6、在多少时间内完成,使用了多少资源,不能超过多少,最好用表格准确详细的记录下来。2.测量并记录当前性能利用相关工具进行量化3.确定当前oracle的性能瓶颈(等待什么)从Oracle动态性能视图v$system_event、v$session_event和v$session_wait中获得等待事件,进而找出影响性能的对象和sql语句4.确定当前的os瓶颈5.确定瓶颈原因6.优化所需的部分(应用程序、数据库、i/o、争用、os、存储、网络等)7.跟踪并实施更改过程8.测量并记录当前性能9.重复3-7,直到满足优

7、化目标10/101.常见的诊断和性能优化工具1.1.操作系统参数的监控:1.主要是监测OS的状况2.(1)Windows上的监控使用控制面板-〉管理工具-〉性能即可3.(2)UNIX/LINUX上的监控使用通用性的工具,包括sar、iostat、cpustat、mpstat、netstat、top、osview等。1.2.数据库参数调整打开enterprisemanagerconsole查看数据库的众多参数,每个值的意思打开工具菜单,里面有众多的工具.如topsql10/101.1.OracleSQL性能检

8、测的命令和工具用下列SQL工具找出低效SQL:SELECTEXECUTIONS,DISK_READS,BUFFER_GETS,ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2)Hit_radio,ROUND(DISK_READS/EXECUTIONS,2)Reads_per_run,SQL_TEXTFROMV$SQLAREAWHEREEXECUTIONS>0ANDBUFFE

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

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

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