我正在使用 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 毫秒。有什么方法可以加快这个过程吗?