私の GUI には、SQL クエリをトリガーする可能性のある 1 つまたは複数のフォームが含まれていJTable
ます。それが起こるたびに、それに応じてテーブルを更新したいと思います。とリモート SQL テーブルの両方を更新する必要があるため、続行するにはいくつかの方法があります。INSERT
UPDATE
DELETE
TableModel
最初に SQL テーブルを更新し、次に
SELECT
変更されたデータを更新して、 を呼び出しますfireTableDataChanged()
。これが私が現在行っていることです。テーブルとデータベースが完全に同期されていることが保証されます。ただし、TableModel
データが から抽出されるまで は更新されませんResultSet
。私の場合、全体で平均 0.5 ~ 1 秒かかります。これはそれほど悪くはありませんが、良くもありません。両方を同時に更新し、
TableModel
以前の方法で期待されることと一致するように を変更します。これにより、クライアント側のパフォーマンスが向上する可能性があります。これは、変更がほぼ瞬時に行われ、SQL が「バックグラウンドで」実行されるためです。しかし、テーブルとデータベースの間の同期が失われることについて確信が持てません。これは汚い方法のようです。これら 2 つの方法を組み合わせます。おそらく、迅速な単一セルの更新では 2 番目の方法を使用する必要がありますが、
INSERT
s とDELETE
s では最初の方法が必要でしょうか? より効率的ですが、一貫性がないように感じます。別の方法はありますか?
どのように進めればよいですか?この件についてあなたの経験を共有してください。