MySql in子句 效率低下优化(亲测有效,从200秒变1秒)

2023-04-22,,

MySql in子句 效率低下优化

背景:

更新一张表中的某些记录值,更新条件来自另一张含有200多万记录的表,效率极其低下,耗时高达几分钟。

update clear_res set candelete=0 where resid in
(
select distinct resourceid from att_attentionresult where important=0
);

耗时 365s

优化后

 update clear_res set candelete=0 where resid in
(
select resourceid from (
select distinct resourceid from att_attentionresult where important=0
) as tmp
);

耗时 1.41s

总结:对于where xxx in 子句效率极其低下问题,经过in的子句外包装一层select xxx from( ... )as tmp 后,极大优化效率。

https://www.cnblogs.com/hdwang/p/4749152.html

MySql in子句 效率低下优化(亲测有效,从200秒变1秒)的相关教程结束。

《MySql in子句 效率低下优化(亲测有效,从200秒变1秒).doc》

下载本文的Word格式文档,以方便收藏与打印。