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

Alf*_*rio 5 java sql jdbc

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

有些人可能会建议我使用AOP来做这件事,但我试图尽可能避免这种情况.还有另外一种方法吗?

Vin*_*lds 2

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

您可以通过将从 DataSource 返回的连接包装在 ConnectionSpy 对象中,在依赖于 DataSource 的应用程序中使用它。这需要更改您的代码库。

当然,在撰写本文时还有其他可用选项:

  • P6Spy项目仍然可以在大多数应用服务器中使用。尽管它确实过时了(并且被一些人认为已经废弃),但它绝不是过时的。
  • JAMon API 允许监视所执行的 SQL 命令的执行时间。这需要使用 JAMon API 来监控连接。