mysql 里 delete in 语句暴慢无比 怎么优化
程序员文章站
2023-04-02 08:18:46
今天在做优化的时候,碰到写的简单delete语句执行起来很慢,需要几分钟,数据也才几万。把语句楼出来一看,就是很普通的删除。...
今天在做优化的时候,碰到写的简单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秒之内,网上的解释是通过临时表创建索引用空间换时间避免频繁读取原表信息,其实不太理解他的原理!
总结下这个技巧,希望能帮到你。