SQL执行时汇总/分析工具: sqlprofiler, Iron TrackSQL

阅读更多

      这些天鼓捣jBPM时想真正地看它的重点方法都操作了什么数据库操作,于是配置了p6spy,但真正看p6spy的结果时发现麻烦不小: p6spy的log那么长,肉眼很难理出头绪来. 能不能有更好的解决方法? 上网搜时发现了些好东西, 这里把实验过程过程中的问题和收获记录下来.

    第一个是sqlprofiler, 具体配置方式详见:用 p6spy 来观察 Java 程序中执行的所有 SQL 语句(四. 结合 SQL Profiler, 我在配置使用时有如下几个问题个收获:
        1, 报"not connected to P6Spy"信息. 针对这个问题,有如下两个注意点:

  • 把"p6spy.properties"所在位置由原来的"WEB-INF/classes"改为"common/classes",因sqlprofiler.jar和p6spy.jar两个jar包都放到了common/lib下
  • sqlprofiler应该先于自己的应用启动.

        2,  可以配置远程监听.
        3,  根据你的query来帮你生成/建立合适的index.

    第二个工具是Iron TrackSQL, 具体配置方式详见: 用 p6spy 来观察 Java 程序中执行的所有 SQL 语句(五. 结合 IronTrack SQL ), 有了对sqlprofiler的熟悉后, 配置Iron TrackSQL就快多了. 正如博客作者所说, 相比于sqlprofiler, Iron TrackSQL有如下的几个特点:
        1, 既能实时监听,又能保存历史数据来对比分析.
        2, 并不要求先启动 Iron TrackSQL,相比于 SQL Profiler 的被动监听,它采取的是主动去查询。更适于远程监控,想在何时监控就启动,完事就关闭,不至于像 SQL Profiler 那样一旦监听窗口坏了一下,就得重启应用.
       
        一个疑问, Iron TrackSQL能不能像sqlprofiler那样分析出可以建的index呢?

    这样,对比上面的两个工具, 发现Iron TrackSQL更智能些. 于是下一步打算认真研究一下这个工具,最大限度地发挥它的功能.

    这些工具能给我带来哪些帮助呢? 首先是可以监视/分析所做系统的SQL执行情况, 找出系统性能的瓶颈. 第二个帮助,是利用这些工具,可以更好地体会/分析/研究jBPM, 并可以针对性地做实验来体会Hibernate的一些高级特性.

    感谢博友隔叶黄莺 的分享!

你可能感兴趣的:(SQL,JBPM,Hibernate,Web)