JavaGUIプログラムを使用して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テーブルは基本的に、複数の列と1つの行だけの構成情報であるため、関数は列と更新値を取得し、それに応じてアイテムを更新します。この関数は正しく機能しますが、本当に遅いです。
経過時間を使用すると、平均更新時間は約550ミリ秒で、最小時間は294ミリ秒、最大時間は986ミリ秒です。このプロセスをスピードアップする方法はありますか?