真实项目开发中:MySql语句优化之left join 关联查询

本文记录了作者在实际项目中遇到的一个MySQL查询优化问题。通过分析一个执行缓慢的LEFT JOIN查询,发现子查询是性能瓶颈。通过将子查询转换为关联查询并调整查询结构,最终成功将查询时间从一分半降低到1.233秒,显著提升了导出数据的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       很久没来写博客了,现在心情好又开始写了。只想记录自己在真实项目中遇到到的各种各样的问题,也算是对自己工作经历的一种文字记忆。

问题的由来

        今天上午刚进办公室,公司的测试人员就向我反馈了一个问题,说有个页面中的数据无法导出,正常情况应该是可以导出为excle文件的。刚拿到这个项目不久,对项目还不是太熟悉,于是先在本地测试了了一下那个页面中的导出功能,结果果然如此,点击了导出按钮半天没反应。结果ru

结果如上图所示,等待了有两三分钟还是没反应,于是就关掉网页,去后台进行断点调试。一直跟到断点消失掉之前执行的一个查询语句,后台有打印。如下

SELECT T.DY_ID,T.CH_ID,BC.CH_NAME,T.PROBLEM_DESC,BR.REGION_NAME,
(SELECT FILE_URL FROM BS_SUBSIDIARYFILE WHERE RELATION_ID =T.DY_ID AND MODULE_ID='DT_WORKING' LIMIT 1) FILE_URL,
(SELECT GROUP_CONCAT(FILE_ID) FROM BS_SUBSIDIARYFILE WHERE RELATION_ID =T.DY_ID AND MODULE_ID='DT_WORKING') FILE_IDS,
(SELECT STAFF_NAME FROM  SU_STAFF WHERE STAFF_ID = T.STAFF_ID) STAFF_NAME,
CASE WHEN T.SEND_TY

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值