mysql 里 delete in 语句暴慢无比 怎么优化

今天在做优化的时候,碰到写的简单delete语句执行起来很慢,需要几分钟,数据也才几万。把语句搂出来一看,就是很普通的删除。

比如如下的mysql:

delete from tb_Info where PlanID in(select PlanID from tb_Info where 1=1 );

这个语句的效率就很慢,超慢,转化后为如下语句

delete from tb_Info where PlanID in(select * from(select PlanID from tb_Info where 1=1 ));

转化后执行时间在1秒之内,网上的解释是
通过临时表创建索引用空间换时间避免频繁读取原表信息,其实不太理解他的原理!

总结下这个技巧,希望能帮到你。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐