场景:批量更新A表字段1,条件为B表中的字段2等于A表中的字段2。
先看看原始更新语句:
UPDATE Yj_CPhone SET PhoneType=1 WHERE Phone IN (SELECT Phone FROM Yj_TempPhone)
其中Yj_CPhone有1500万数据,Yj_TempPhone有31万数据,语句执行时间超过半个小时还没有执行完。
优化语句为:
UPDATE yj_cphone t1 INNER JOIN Yj_TempPhone t2 ON t1.phone=t2.phone SET t1.PhoneType=1
执行时间为3.185秒