首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >为什么你的JOIN查询慢?驱动表选对了,但被驱动表没索引

为什么你的JOIN查询慢?驱动表选对了,但被驱动表没索引

作者头像
这个DBA有点耶
发布2026-09-17 17:06:57
发布2026-09-17 17:06:57
550
举报
概述
MySQL的JOIN优化中,驱动表的选择直接决定执行效率。“小表驱动大表”这句口诀几乎人人都会背,但真正理解其底层逻辑的人不多——驱动表看的是过滤后结果集,不是表的总行数;Hash Join引入后,Join Buffer的角色也发生了根本变化。本文从驱动表选择逻辑、Join Buffer工作机制、MySQL 8.0.20之后的算法演进三个层面,拆解多表JOIN的底层原理与实战调优方法。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、驱动表到底怎么选的?
  • 二、Join Buffer是什么?
  • 三、MySQL 8.0.20的重大变化:Block Nested Loop被移除
  • 四、Join Buffer(哈希表)调优实战
  • 五、小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档