SQL调优工具.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL调优工具

Oracle SQL调优工具 技术文件编号: 版 本:V1.0 共 页 (包括封面) 拟 制 陈 文 文 审 核 会 签 标准化 批 准 2011年10月 目 录 1 问题 3 2 推荐工具 3 3 工具简介 3 4 SQL优化 3 4.1 执行计划 3 4.1.1 Pl/sql dev查看执行计划的方法: 4 4.1.2 执行计划优劣 4 4.1.3 根据执行计划调整SQL 4 4.2 利用STA优化语句 5 问题 经统计,80%的数据库问题是由应用软件中的Bad SQL引起的。因此,大部分的数据库优化工作是在应用级完成。应用级的优化即对SQL的优化。SQL优化是一个复杂繁琐的过程,可以借助工具来简化这个工作。 推荐工具 SQL调优的工具五花八门,但是所有的优化工具都是基于Oracle的STA工具开发的。这里将我平时使用的工具介绍下。(PL/SQL DEV + Oracle STA)。 其他的工具,由于在试用用的过程中,用户体验不是很好,故不做介绍。 如LECCO SQL Export Pro for Oracle需要oracle9i的客户端等等,Quest SQL Optimizer 很耗资源。而我们平时都使用PL/SQL DEV来做开发,故推荐使用PL/SQL DEV + Oracle STA。 工具简介 PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。SQL Tuning Advisor ; SQL优化器)是Oracle10g中推出的帮助DBA优化工具,它的特点是简单、智能,DBA值需要调用函数就可以给出一个性能很差的语句的优化结果。下面介绍一下它的使用。使用STA一定要保证优化器是CBO模式下 Pl/sql dev查看执行计划的方法: 在SQL Window中,直接按“F5”,即可查看目的SQL的执行计划 打开Explain Plan Window,然后输入SQL,点击“执行“ 执行计划优劣 执行计划没有绝对的优劣,优劣是相对的。衡量执行计划的优劣主要是看SQL的COST与BYTES。COST与BYTES越小执行计划就越优。优化SQL的目的就是降低COST和BYTES。 根据执行计划调整SQL 如下图的执行计划 select e.lgc_eqp_id, e.name eqp_name, e.no eqp_no, e.res_spec_id eqp_res_spec_id, p.lgc_port_id, p.name port_name, p.no port_no, p.res_spec_id port_res_spec_id, p.direction_id port_direction_id, p.opr_state_id port_opr_state_id, p.rate_id port_rate_id from lgc_equipment e inner join lgc_port p on(e.lgc_eqp_id = p.lgc_eqp_id) where e.lgc_eqp_id =131 可以看出,这条SQL的总的Cost是20,而其中的对LGC_PORT的全表扫描占了19,因此如果可以对LGC_PORT 扫描进行优化的话,这SQL的成本将下降。 从SQL可以看到,lgc_equipment 与lgc_port p 内连接,连接栏位为lgc_eqp_id 说明:并不是说全表扫描就比索引扫描性能差。全表扫描是扫描表的HWM下的所有数据块,而索引扫描是选扫描索引块,在索引块中取得所要的数据的ROWID,再根据ROWID扫描数据库。因此当选择性高的话,索引扫描效能高。反之者全表扫描效能高。 查看lgc_port 这个表的信息 表LGC_PORT没有可用的索引可以使用,故走全表扫描。对lgc_eqp_id创建一个索引测试, 建完索引后,执行计划

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档