news 2026/5/1 4:44:51

【MYSQL】IN查询优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【MYSQL】IN查询优化

总结:

在 MySQL 5.7 中,如果 WHERE 只作用于主表,但 JOIN 和 ORDER BY 很重,
就应当显式地缩小驱动表;
在 MySQL 8.0 中,优化器可能自动完成,但不能盲目信任。

问题描述:

//优化前select*fromaleftjoinbonb.b=a.bleftjoin...wherea.idin(1,2...)orderbyd.number;//优化后select*from(select*fromawherea.idin(1,2,3...))tleftjoinb...orderbyd.number;

在 MySQL 8.0 中,优化器相比 5.7 有几项关键增强:
1.更积极的 WHERE 条件下推(Predicate Pushdown)
2.更智能的 JOIN 顺序重排
3.派生表(子查询)可被自动合并(Derived Merge)
4.更成熟的 Cost-Based Optimizer
👉 MySQL 8.0 很可能自动把过滤提前到 JOIN 之前
但要强调的边界条件(很重要),以下情况 8.0 也未必能完全自动优化:
1.JOIN 结构极其复杂(多层 LEFT JOIN)
2.WHERE 中混入了 b / c 的条件
3.ORDER BY / GROUP BY 过于复杂
4.存在函数、隐式类型转换
5.统计信息不准确

最后如果sql已经这样优化,那么在代码层面可以去掉分批查询,基本逻辑都是类似的。

完结撒花~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:45:03

突破网络限制!IT-Tools+cpolar 让开发工具 “随身带”

前言 IT-Tools 是一款面向开发者的在线工具箱,里面有各种实用功能,比如生成随机数、转换时间格式、处理 JSON 数据等,基本覆盖了日常开发中会用到的小工具需求。 作为一名前端开发者,我特别喜欢 IT-Tools 的 “即开即用”。写代…

作者头像 李华
网站建设 2026/5/1 7:50:59

【UE5.3】给vrm角色加上Kawaii Physics

目录 步骤 一、调整刚性和阻尼 二、添加碰撞 步骤 一、调整刚性和阻尼 开启插件“Kawaii Physics”(插件地址在这篇博客中:【VRoid Studio】创建3D角色导入UE5) 打开vrm角色骨骼网格体 在“资产详情”中设置“物理资产”为空 打开上一篇…

作者头像 李华
网站建设 2026/5/1 7:57:12

LobeChat能否部署在边缘节点?低延迟交互实现

LobeChat能否部署在边缘节点?低延迟交互实现 在智能制造车间的一台工控机上,工程师正通过平板电脑向本地AI助手提问:“昨天3号生产线的异常报警原因是什么?”不到半秒,答案已逐字出现在屏幕上——整个过程无需联网&…

作者头像 李华
网站建设 2026/5/1 7:57:36

MTKClient终极指南:如何轻松解锁联发科设备的隐藏潜力

MTKClient终极指南:如何轻松解锁联发科设备的隐藏潜力 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient 你是否曾经面对联发科设备的复杂调试感到束手无策?MTKClient这…

作者头像 李华
网站建设 2026/5/1 9:08:53

LLaMA-Factory参数详解:微调与训练全解析

LLaMA-Factory参数详解:微调与训练全解析 在大模型落地日益迫切的今天,如何高效、低成本地对百亿级语言模型进行定制化微调,已成为工业界和学术界的共同挑战。传统微调方式动辄需要数百GB显存和数周训练时间,而开源项目 LLaMA-Fac…

作者头像 李华
网站建设 2026/5/1 8:46:00

解密行政区划数据宝藏:从代码到地图的实战指南

你是否曾经在地理信息系统项目中为了获取准确的行政区划数据而头疼不已?或者在做数据分析时发现行政边界数据要么太粗糙,要么格式不统一?ChinaAdminDivisonSHP项目正是为了解决这些痛点而生,它就像一个精心整理的地理数据宝库&…

作者头像 李华