在java 中如何打印出sql执行的执行耗时
时间: 2024-02-24 15:56:53 浏览: 136
在 Java 中打印 SQL 语句执行的执行耗时,可以通过以下步骤实现:
1. 获取当前时间戳(单位为毫秒)。
2. 执行 SQL 语句。
3. 再次获取当前时间戳。
4. 计算两个时间戳之差,即为 SQL 语句的执行耗时。
5. 将执行耗时打印出来。
下面是一个示例代码:
```java
import java.sql.*;
public class SqlExecTime {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 2. 打开数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
// 3. 获取当前时间戳
long startTime = System.currentTimeMillis();
// 4. 执行 SQL 语句
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM `table1` WHERE `name` LIKE '%test%'");
// 5. 再次获取当前时间戳
long endTime = System.currentTimeMillis();
// 6. 计算 SQL 语句的执行耗时
long execTime = endTime - startTime;
// 7. 打印 SQL 语句执行耗时
System.out.println("SQL execute time: " + execTime + "ms");
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 8. 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}
```
注意:在实际开发中,可以将记录时间戳和计算执行时间的代码封装到一个函数中,以便重复使用。
阅读全文