データベースに格納されているアイテムのリストを更新するための (平均パフォーマンスの点で) 最適なパターンは何ですか?
たとえば、一部のユーザーは、N 行で構成されるテーブルを操作します。すべての行を削除してから、まったく異なるデータを含む M 行を追加することも、1 つの行で 1 つのフィールドの 1 文字だけを更新することもできます。
次に、変更されたデータの量を考慮せずに、既存のすべての行をDELETE
クエリで削除し、次にINSERT
新しい行を削除します。
この場合、より効果的なパターンはありますか?
アップデート:
また、2 つの代替アプローチも検討しました。
1) 更新トランザクション do の開始時にSELECT
、どの行が更新/削除/追加されたかを分析し、DB に適切な変更を適用します。
2) ユーザー インターフェイスをインタラクティブにし、ユーザーのアクションごとに変更されたデータを含む AJAX 要求を送信し、適切な行を変更済みとしてマークします。