当前位置: 首页 > 面试题库 >

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

太叔栋
2023-03-14
问题内容

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

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


问题答案:

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

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

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

  • P6Spy项目,该项目仍可在大多数应用程序服务器中使用。尽管它确实过时了(并被某些人抛弃了),但绝不是过时的。
  • JAMon API允许监视执行的SQL命令的执行时间。这将需要使用JAMon API来监视连接。


 类似资料:
  • 我搜索了关于测量Java应用程序执行时间的信息,得到了以下代码: 开始和停止之间的差异给了我执行时间。 注意:我知道这不是确切的执行时间。我只是需要多线程和单线程应用程序之间的比较的时间。 如果我这样更改代码会怎样: 执行10个线程。不管他们做什么。假设他们随机填充一个二维数组。 现在,stop-start给了我“全部”执行时间?或者我必须自己测量线程吗?

  • 问题内容: 是否可以以平台无关的方式使用Java应用程序的名称(而不是其位置)在单独的进程中加载​​Java应用程序? 我知道你可以通过…执行程序 …这种方法的主要问题是,此类调用是特定于平台的。 理想情况下,我会将方法包装成像…这样简单的东西。 …并以形式传入应用程序类的完全限定名称。 问题答案: 两个提示: 为你提供了Java可执行文件的路径。 帮助你重构当前应用程序的类路径。 然后你就是(伪

  • 问题内容: 该表具有以下字段: 假设我有上表。我想获取昨天的记录,并通过将金额打印为美分来生成报告。 一种方法是在我的Java应用程序中执行计算并执行一个简单的查询 然后遍历记录,并在我的Java应用程序中将金额转换为美分并生成报告 另一种方法类似于在sql查询本身中执行计算: 然后遍历记录并生成报告 一种方式是,我所有的处理都在Java应用程序中完成,并且触发了一个简单的查询。在其他情况下,所有

  • 问题内容: 通过阅读本文,我知道每个Java应用程序都将在特定的Java虚拟机实例中运行。因此,如果我执行以下命令(“ Java -jar test1.jar”,“ Java -jar test2.jar”),我将在系统中获得两个进程。并且,如果每个命令都使用默认堆大小,例如256M。总内存成本为512M,对吗?还有其他问题: Java虚拟机是一个守护进程,由系统启动吗? 当我执行“ java -

  • 我想比较一个函数的不同实现: 我得到的结果是,第一个度量值总是比第二个慢(

  • 我对NodeJS是新手。我已经执行了以下命令。1.npm安装-g创建react应用程序2。创建react应用程序我的应用程序 在执行第二个命令时,我遇到了如下错误 安装软件包。这可能需要几分钟。正在安装react、react dom和react脚本。。。 uglifyjs-webpack-plugin@0.4.6安装后E:\Projects\HighAvenue\Dashboard\dashboa