背景
mysql表需要批量更新60w数据,表内数据大概2000w
sql
UPDATE
table1 SET
field_1 = 5 WHERE
id = 19823049;
两种方式
第一种 每行一条
-
UPDATE
table1 SET
field_1 = 5 WHERE
id = 19823049;
-
UPDATE
table1 SET
field_1 = 5 WHERE
id = 19823043;
第二种 where in
UPDATE
table1 SET
field_1 = 5 WHERE
id in (19823049,xxx,xxx,1324134....);
## 问题
- mysql where in的最大数量的是多少?
- 两种场景哪个更优,或者其他更好的解决办法?
- 这里where in主键id和in其他的普通字段(特指带索引但不是主键的字段),底层处理上有差别吗?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…