有没有一种简单的方法来衡量JDBC执行的所有sql语句的执行时间并将结果打印到输出中?
有些人可能会建议我使用AOP来做到这一点,但我尽量避免这种情况。还有另一种方式吗?
答案 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)
我们使用三种不同的方式来显示执行时间。
我们使用内置的Sql Server工具来显示执行时间/频率/ io /等。我自己不这样做,所以我不知道确切的工具是什么。
我们使用AviCode跟踪超出定义限制的执行时间。
我们通过一个自动测量所有sql调用的库来运行所有sql调用。
我们使用这些不同的方法,因为它们各自提供不同的执行视图。当出现问题时,我们会查看所有问题,以确保他们同意。
您的环境中是否有类似的内容?
答案 3 :(得分:1)
检查一下。他们提到使用带有JDBC的Sql Recorder。它可能适合你。
答案 4 :(得分:1)
如果你想检查你的java应用程序的执行时间,然后打印日期然后执行该语句并再次打印日期,你可以看到差异。像
System.out.println(new Date()); stmt.executeUpdate(); System.out.println(new Date());
如果要查看SQL Server所花费的时间,请在SQL查询分析器中执行查询,在窗口右下角,您将找到执行查询所需的时间。
由于