我需要更新MySQL表中的大约100 000条记录(带索引),因此这个过程可能需要很长时间。我正在寻找能够更快工作的解决方案。
我有三种解决方案,但我没有时间进行速度测试。
解决方案:
通常更新数组循环中的每条新记录(性能不佳)
使用UPDATE语法,例如Update multiple rows with one query? - 无法找到任何性能结果
使用LOAD DATA INFILE和key字段的值相同,我想在这种情况下它会调用UPDATE而不是UNSERT - 我猜应该更快地工作
你知道哪种解决方案最好吗? 一个重要的标准是执行速度。
感谢。
答案 0 :(得分:0)
LOAD DATA INFILE
从文件中获取大量数据的最快方法; 第二种解决方案并不像你想象的那么糟糕。特别是如果你可以执行像
这样的事情更新表 组 field = values 哪里 id(list_of_ids)
但最好发布您的更新查询。