MySQL 笔记:order by 与 Using filesort 的优化思路
说清 Using filesort 的真实含义与两种排序算法,列出 5.7 里能靠索引免排序的几种条件组合,给出排序缓冲区相关参数和排序失效的常见写法。
说清 Using filesort 的真实含义与两种排序算法,列出 5.7 里能靠索引免排序的几种条件组合,给出排序缓冲区相关参数和排序失效的常见写法。
从语义上分清三种 count 的计数规则,解释 InnoDB 为什么不缓存精确总行数,并用本机实测的 EXPLAIN 说明 count(*) 会挑一个更小的二级索引扫描,最后给出统计总数的几种优化路线。
解释 OFFSET 分页为什么越翻越慢:引擎要取出并丢弃前十万行再回表,然后给出延迟关联、游标翻页、覆盖索引和业务侧限制四种常见解法及各自的适用边界。
记录慢查询日志的开关与阈值配置、动态生效的注意事项,以及从采集、聚合排序到逐条看执行计划的完整定位流程,附 mysqldumpslow 与 performance_schema 两种聚合入口。
逐列拆解 EXPLAIN 的输出:type 的访问等级从 const 到 ALL,key 和 possible_keys 的差别,key_len 判断索引实际用了几列,rows 只是估算值,以及 Extra 里 Using index、Using filesort 这些信号的含义。
联合索引的规则是从左往右连续使用,跳过最左列就用不上。笔记梳理等值与范围条件的分界、索引条件下推、排序同样吃最左前缀,以及列顺序怎么排和几种会废掉索引的写法。