HelloDBA [English]
搜索Internet 搜索 HelloDBABA
  Oracle技术站。email: fuyuncat@gmail.com  MSN: fuyuncat@hotmail.com   acoug  acoug 

介绍一款SQL调优工具

[English]

作者: fuyuncat

来源: www.HelloDBA.com

日期: 2017-10-05 22:02:56

分享到  新浪微博 腾讯微博 人人网 i贴吧 开心网 豆瓣 淘宝 推特 Facebook GMail Blogger Orkut Google Bookmarks

 我们在进行SQL调优时需要首先花费大量时间进行问题分析和定位,找到性能瓶颈后,再根据调优规则以及以往累计的知识和经验对语句进行优化,最终解决SQL性能问题。

SQL调优对于一个缺乏经验的开发者或DBA来说,面对一条存在性能问题的语句、尤其是结构复杂的语句,往往会觉得无从下手。即使是对于经验丰富的DBA来说,优化一条语句也是一项比较消耗时间的工作。

我曾经优化过无数的SQL语句,一直希望有一个这样的调优工具,既可以帮快速的找到问题语句、又能自动对语句进行分析、定位到语句的性能瓶颈所在,并给出参考的调优手段。这样就可以省去那些繁琐的问题定位过程,帮助我节省大量时间,能让我更加有效率的优化语句,也有了更多的时间投入到其他方面的工作上去。

SQLBooster正是一款这样的工具!你可以从这个网站上下载这款软件的最新版本:www.SQLFast.com

下载完成后,运行安装包,你就可以使用这款软件了。

第一次运行时,会要求你输入注册码。你可以免费获得一个30天试用的注册码,具体的获得过程参考网站上的这篇文章:如何获得注册码(点击查看)

我得承认,这款软件的界面做得并不华丽,但它的功能很全面,正是我们所需要的。

要注意的是,要使用这款软件,你最好有两个数据库帐号:一个执行目标语句的账号;一个拥有更高权限、可以查看系统视图和参数的账号(最好拥有DBA角色)。当然这两个账号也可以是同一个。这篇文章告诉你如何登陆数据库:登陆数据库(点击查看)

登录数据库后,你可以通过它的查看当前会话(点击查看)的功能找到长时间运行的语句,也可以通过热门预计排行(点击查看)功能找到当前或者历史的Top SQL。

找到问题语句后,就可以将语句结构化,然后从叶到枝再到根进行性能瓶颈分析了。它的使用很简单,基本上只需要鼠标点击几个按钮就可以完成。你也可以参考这篇文章了解这一过程:如何进行语句分析和调优(点击查看)

分析结束后,你就可以查看分析结果、快速找到语句的性能瓶颈了。由于这是一个自底向上的分析过程,也就是说它从最底层的最小单元的子语句开始分析、逐步将上层主语句加入、最后分析原语句本身。因此在分析结果中,看到最先出现性能问题的子语间通常就是我们要找的性能瓶颈。

 这张截图显示了一条复杂语句分析后的结果,上方左面是语句的结构;右边是点击节点后构造出的子语句;下方就是语句分析结果。Ctrl+点击分析结果中的Extra Info字段还可以看到给出的调优建议。你可以采纳这些建议、也可以凭借自己的经验去优化问题子语句。

语句分析结果

对子语句 实施优化手段后(例如创建索引、增加提示),可以直接运行优化后的子语句检测优化效果。如果对结果满意,就可以将其实施到原语句当中去。

可以看到,有了一个这样的调优工具后,你需要进行人工干预的地方很少,大多数步骤都交由这个工具帮你完成。使得你的语句调优工作变得更有针对性、更有效率、也更加准确。即便是对于新手来说,也可以迅速、独立的完成语句调优任务!

此外,该软件还有一些其它非常实用的功能,例如查看热门等等事件(点击查看)查看锁阻塞树(点击查看)应用SQL Profile进行调优(点击查看)等等。

Top

Copyright ©2005,HelloDBA.Com 保留一切权利

申明
by fuyuncat