今天在做优化的时候,碰到一个几个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秒之内,网上说法是通过临时表创建索引用空间换时间避免频繁读取原表信息,其实不太理解他的原理!
总结下这个技巧,希望能帮到你。
需要了解更多数据库技术:mysql 里 delete in 语句暴慢无比 怎么优化,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/806602.html