首页 > 数据库技术 > 详细

mysql 里 delete/update in 语句暴慢无比 优化

时间:2020-08-31 17:42:43      阅读:312      评论:0      收藏:0      [点我收藏+]

通过临时表创建索引用 空间换时间避免频繁读取原表信息

/*正常写法*/
DELETE from activity where id not in ( SELECT id from activity_data);

/*优化后写法*/
DELETE from activity where id not in (select * from (SELECT id from activity_data) t);

  

<!--        update pay_record SET pr_pay_state = #{prPayState} , pr_pay_money = pr_total_money,pr_pay_time = #{prPayTime} WHERE pr_id in(SELECT pr_id FROM pay_record_related WHERE merge_id = #{mergeId})-->
        update pay_record SET pr_pay_state = #{prPayState} , pr_pay_money = pr_total_money,pr_pay_time = #{prPayTime} WHERE pr_id in(select * from (SELECT pr_id FROM pay_record_related WHERE merge_id = #{mergeId}) t)

  

mysql 里 delete/update in 语句暴慢无比 优化

原文:https://www.cnblogs.com/xiaoni-fighting/p/13590383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!