java-如何记录存储在文件中的运行sql语句的执行时间?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何记录存储在文件中的运行sql语句的执行时间?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1546字,纯文字阅读大概需要3分钟。
内容图文
![java-如何记录存储在文件中的运行sql语句的执行时间?](/upload/InfoBanner/zyjiaocheng/884/fb964a76ebfd47bdbf636e9b109b2425.jpg)
我正在做与TPC-H相关的事情.
我在几个文件中都有sql语句.我需要执行它们并记录执行时间,如下所示:
13 rows in set (0.00 sec)
我还需要结果集以查看是否获得正确的结果.
我的平台是linux(centOS).
如果我手动执行此操作,则将在mysql中键入如下语句:
shell> mysql -u tpch -p
mysql> use tpch;
mysql> source /home/liova/download/tpch/queries/Q1.sql;
mysql> source /home/liova/download/tpch/queries/Q2.sql;
解决方法:
为了找到执行时间,您应该在程序的开头初始化一个日期对象,然后将其与程序末尾的另一个日期对象进行比较.这将为您提供执行时间的整数值.然后在需要的地方使用此int(例如,将其打印到控制台,文件等).
Date startDate = new Date();
//Run the rest of the program
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();
如果您不需要在Java程序中执行与查询结果相关的任何操作,则可以使用runtime.exec()使这个漂亮的东西变得简单,让mysql执行查询.唯一的主要缺点是您无法打印出受影响的结果行数:
Date startDate = new Date();
runtime.exec("mysql db_name < /home/liova/download/tpch/queries/Q1.sql");
Date endDate = new Date();
int msElapsedTime = startDate.getTime() - endDate.getTime();
如果您实际上需要对结果做些事情,那么runtime.exec()将不足以满足您的需求.继续阅读…
要读取SQL源,只需将其读取为文本文件即可.如果将SQL的每一行都作为单独的SQL查询,这将是最简单的,因为否则,您将不得不进行一些解析和调整.这是一次一次读取文件的example.
要运行SQL,请使用JDBC.这是tutorial.第1到5项将详细介绍运行sql和使用结果所需的一切(从建立sql连接到运行查询再到处理返回的resultSet对象).如果这些步骤中的任何一个给您带来麻烦,那么最好的选择是根据您在处理过程中遇到的特定问题提出一个单独的问题.
内容总结
以上是互联网集市为您收集整理的java-如何记录存储在文件中的运行sql语句的执行时间?全部内容,希望文章能够帮你解决java-如何记录存储在文件中的运行sql语句的执行时间?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。