gpt4 book ai didi

Java更新SQL数据库性能

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

我正在使用 Java GUI 程序来更新 SQlite 数据库。我的 Gui 选项主要是带有开/关值的切换按钮。由于 Gui 的性质,更新数据库的性能需要快速,以便控制可以快速返回到 Gui 调用函数。

我有以下代码,每次选择切换按钮时都会运行该代码:

public static void updateDCStable(String item, int value)
{
try {
long start = System.currentTimeMillis();
Class.forName("org.sqlite.JDBC");
String url = DATABASE_FILEPATH;
Connection conn = DriverManager.getConnection(url);

Statement update = conn.createStatement();
update.execute("UPDATE DCS "
+ "SET " + item + "='" + value + "';");

update.close();
conn.close();

long time_elapsed = System.currentTimeMillis() - start;
System.out.println("Changed DCS date item " + item + " to "
+ value + " in " + time_elapsed + "(ms)");
} catch (SQLException ex) { /* Error handling */
} catch (ClassNotFoundException ex) { /* Error handling */
}
}

我的 SQL 表基本上是包含几列和一行的配置信息,因此该函数采用列和更新值并相应地更新项目。该功能正常工作,它真的很慢....

使用耗时,我的平均更新时间大约为 550 毫秒左右,最短时间为 294 毫秒,最长时间为 986 毫秒。有什么方法可以加快这个过程吗?

最佳答案

如果使用连接池中的连接会更快。您不必在每次访问数据库时都建立和关闭连接,这会花费很多时间。

Pierre 提到的 PreparedStatements 也有帮助,但花在数据库作业上的大部分时间是建立/释放数据库连接问题。

关于Java更新SQL数据库性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11579630/

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