logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

MySQL 优化器深度解析:回表 vs 全表扫描 vs Skip Scan,范围查询为什么经常改变结局

把本文浓缩成一句面试可用的话,就是:MySQL 优化器会基于成本模型,在“索引扫描、Skip Scan、全表扫描”之间选择代价最低的路径。覆盖索引会显著降低索引方案成本;而范围查询、Skip Scan 和回表都会抬高索引方案成本。一旦这些成本叠加后高于顺序读整表,优化器就会果断放弃索引。能覆盖,就尽量覆盖;要回表,就看候选集有多大;既范围又 Skip Scan 还 select *,最容易直接退化

文章图片
#mysql#android#数据库
MySQL Explain 执行计划实战题

这份文档是给Explain和索引优化练手用的。

#android
MySQL Explain 执行计划详解:别只盯着 key,带你看懂索引为什么失效

Extra这里最重要的不是死记硬背它们的字面意思,而是把它们翻译成“数据库额外做了什么事”。我现在越来越觉得,Explain真正难的地方,从来不是记住每一列的名字,而是把执行计划翻译成一条完整的访问路径。数据是怎么找到的。索引为什么有效,或者为什么失效。SQL 是慢在扫描、过滤、回表,还是排序和分组。下一步应该改 SQL、改索引,还是换查询思路。Explain的重点,不是“有没有索引”,而是“这条

文章图片
#mysql#android#数据库
到底了