码迷,mamicode.com
首页 > 数据库 > 详细

mysql优化从17秒多到1秒多。怀疑人生

时间:2020-07-10 11:49:25      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:strong   mysql   class   人生   sql优化   rom   笛卡尔   定义   png   

一段MySQL,大概是这样

set @bl=value; #定义变量 子查询1 子查询2 子查询3的where条件都用到了

select ...
from(
   #子查询1(用到@bl)
   union
    #子查询2(用到@bl)
   union
    #子查询3(用到@bl)
    
)
left join(子查询4)

 

结果查询用了17s:

技术图片

然后分别执行子查询,结果最慢的只有1s多,我就不淡定了,笛卡尔积也不能这么卡啊

然后反手就是去掉变量,直接赋值的操作,即将子查询中用到的变量@bl 都改成了直接的字符串值,再执行,擦只有1s多:

技术图片

 

怀疑人生!!!原因日后再分析吧,项目时间紧,先记下来

 

mysql优化从17秒多到1秒多。怀疑人生

标签:strong   mysql   class   人生   sql优化   rom   笛卡尔   定义   png   

原文地址:https://www.cnblogs.com/zjfblog/p/13278168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!