我有一个表格来跟踪客户的使用情况,一个包含列的简化结构id
和voice_activity
. id
是索引,voice_activity
需要一个日期,MM-DD-YYYY
该日期指示上次显示使用的时间。
我需要处理运行良好的大型日志文件(CSV 最多 200k 行),问题是有效地更新activity
字段。它目前仅通过构建一个查询来工作,例如:
UPDATE users SET voice_activity = '09-24-2013' WHERE id = 1 OR id = 2 OR id = 3
等等等等。这很好用,只要日志文件按时间顺序添加。如果在较新的日志文件之后添加前一天的日志文件,则 SQL 查询将覆盖较新的日期。因此,查询需要考虑该字段voice_activity
是否大于我们要插入的日期,如果是,请不要打扰。
我知道这应该可以通过CASE
但无法理解语法。如果这种方式不可能,还有什么其他有效的方法来更新这个表?我不希望循环中的 SQL 更新,因为它会融化。