gpt4 book ai didi

Java MySQL 查询比预期慢

转载 作者:行者123 更新时间:2023-11-29 23:52:52 24 4
gpt4 key购买 nike

我正在尝试使用 Java 连接到我的 MySQL 数据库。这是代码:

Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
java.sql.Statement stmt = connection.createStatement();
long startTime = System.currentTimeMillis();
stmt.execute("SELECT row_1, row_2, row_3, row_4 FROM dataset where row_5 is null and row_6 is null limit 100");
long endTime = System.currentTimeMillis();
System.out.println("That took " + (endTime - startTime) + " milliseconds");
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getString("row_1"));
}
stmt.close();

表“数据集”有 500 万行,并在主索引(row_1、row_2、row_3、row_4)和第二索引(row_5 和 row_6)上建立索引。

未缓存,使用 SequelPro for Mac(数据库管理软件),此查询需要 1.9 毫秒。然而,当我在 Java 中运行上面的代码时,大约需要 1800 毫秒(未缓存)。请告诉我是否只是 Java 速度慢,或者我可以采取一些措施来优化 Java 中的查询,因为使用 SequelPro 或其他脚本语言它可以完美地工作。

最佳答案

您是否将其作为主方法中的单个代码单元作为独立程序执行?您应该注意“冷”jvm,它可能会导致严重的启动性能影响。类似的,你(我)不知道java.sql.Statement.java的源代码。我们不知道执行查询时是否随时可能会延迟初始化成员。你在测量时间之前做了一些处理,你可以使用不同的查询来防止兑现。

关于Java MySQL 查询比预期慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25523950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com