eda*_*lls 3 mysql sql performance
我有一个MySQL UPDATE查询,需要很长时间才能完成.我错过了一种更简单的方法来实现相同的结果吗?
"UPDATE table2, table1
SET table2.id_occurrences = (SELECT SUM(IF(id = table2.id, 1, 0)) FROM table1)
WHERE table2.id = table1.id;"
Run Code Online (Sandbox Code Playgroud)
table2包含所有可能的值id,每个值只有一个记录.table1包含一些值id,但有一些值的多个记录.table2显示的对应值的出现次数id中table1.上面的查询完成了这项工作,但当table1包含500条记录和table230,000条记录时,大约需要3分钟.我有更大的表来处理所以这太长了:)提前致谢.
我认为您加入更新可能不是必要的......
UPDATE table2
SET table2.id_occurrences = (SELECT COUNT(*) FROM table1
WHERE table2.id = table1.id);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2225 次 |
| 最近记录: |