id
顧客による使用状況を追跡するテーブルがあり、列と列を持つ単純化された構造voice_activity
です。id
はインデックスであり、使用状況が最後にいつ表示されたかを示すvoice_activity
日付が必要です。MM-DD-YYYY
正常に動作している大きなログ ファイル (最大 20 万行の CSV) を処理する必要があります。問題はactivity
フィールドを効率的に更新することです。現在、次のような単一のクエリを作成するだけで機能します。
UPDATE users SET voice_activity = '09-24-2013' WHERE id = 1 OR id = 2 OR id = 3
などなど。ログファイルが時系列で追加されていれば、これは正常に機能します。前日のログ ファイルが新しいログ ファイルの後に追加された場合、SQL クエリは新しい日付を上書きします。そのため、クエリでは、フィールドvoice_activity
が挿入しようとしている日付よりも大きいかどうかを考慮に入れる必要があり、大きい場合は気にしないでください。
これは経由で可能であることは理解してCASE
いますが、構文がわかりません。この方法が不可能な場合、このテーブルを更新する他の効率的な方法はありますか? 溶けてしまうので、ループで SQL を更新したくありません。