慢查询排查入门:给数据库装上放大镜

页面越来越慢,八成能从数据库里抓到元凶。

开启慢日志

SET GLOBAL slow_query_log = 1;
SET GLOBAL long_query_time = 1;

读懂 EXPLAIN

  1. type 列:ALL(全表扫描)是要消灭的对象,至少优化到 ref/range
  2. rows 列:预估扫描行数,越大越危险
  3. Extra:Using filesort / Using temporary 是排序与临时表的信号

加索引的原则

  • 给 WHERE、JOIN、ORDER BY 用到的列加
  • 联合索引遵循最左前缀
  • 加完用 EXPLAIN 验证生效,并观察写入性能是否受影响

相关文章