测量Java应用程序中的sql执行时间

时间:2011-06-07 23:17:27

标签: java sql jdbc

有没有一种简单的方法来衡量JDBC执行的所有sql语句的执行时间并将结果打印到输出中?

有些人可能会建议我使用AOP来做到这一点,但我尽量避免这种情况。还有另一种方式吗?

5 个答案:

答案 0 :(得分:2)

具有讽刺意味的是,在查看问题时,右边的广告是针对Appdynamics Lite Java Performance tool

答案 1 :(得分:2)

如果您没有在为您提供DataSource的应用程序服务器中运行该应用程序,您会发现log4jdbc项目很有用。项目提供的jdbc.sqltiming记录器将允许您记录执行的SQL语句的执行。

您可以在依赖于ConnectionSy对象中的wrapping the connection returned from the DataSource的DataSources的应用程序中使用它。这需要更改代码库。

当然,写这篇文章还有其他选择:

答案 2 :(得分:1)

我们使用三种不同的方式来显示执行时间。

  1. 我们使用内置的Sql Server工具来显示执行时间/频率/ io /等。我自己不这样做,所以我不知道确切的工具是什么。

  2. 我们使用AviCode跟踪超出定义限制的执行时间。

  3. 我们通过一个自动测量所有sql调用的库来运行所有sql调用。

  4. 我们使用这些不同的方法,因为它们各自提供不同的执行视图。当出现问题时,我们会查看所有问题,以确保他们同意。

    您的环境中是否有类似的内容?

答案 3 :(得分:1)

检查一下。他们提到使用带有JDBC的Sql Recorder。它可能适合你。

Anything better than P6Spy?

答案 4 :(得分:1)

如果你想检查你的java应用程序的执行时间,然后打印日期然后执行该语句并再次打印日期,你可以看到差异。像

System.out.println(new Date()); stmt.executeUpdate(); System.out.println(new Date());

如果要查看SQL Server所花费的时间,请在SQL查询分析器中执行查询,在窗口右下角,您将找到执行查询所需的时间。

由于