mysql优化从17秒多到1秒多。怀疑人生
一段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多:
怀疑人生!!!原因日后再分析吧,项目时间紧,先记下来