在一个查询中具有多个更新的Mysql性能

时间:2011-11-01 07:20:40

标签: mysql performance

我需要更新MySQL表中的大约100 000条记录(带索引),因此这个过程可能需要很长时间。我正在寻找能够更快工作的解决方案。

我有三种解决方案,但我没有时间进行速度测试。

解决方案:

  1. 通常更新数组循环中的每条新记录(性能不佳)

  2. 使用UPDATE语法,例如Update multiple rows with one query? - 无法找到任何性能结果

  3. 使用LOAD DATA INFILE和key字段的值相同,我想在这种情况下它会调用UPDATE而不是UNSERT - 我猜应该更快地工作

  4. 你知道哪种解决方案最好吗? 一个重要的标准是执行速度。

    感谢。

1 个答案:

答案 0 :(得分:0)

  • LOAD DATA INFILE从文件中获取大量数据的最快方法;
  • 第二种解决方案并不像你想象的那么糟糕。特别是如果你可以执行像

    这样的事情

    更新表 组   field = values 哪里   id(list_of_ids)

  • 但最好发布您的更新查询。