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多:

 

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

 

posted @   jiafeng  阅读(204)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-07-10 转:ubuntu 18.04 LTS 安装 java10(JDK) 及问题说明
点击右上角即可分享
微信分享提示