一次 N+1 查询的排查全过程
接口突然从 40ms 变成 1.2s,慢查询日志里没有一条超过 20ms 的 SQL。N+1 的特征是「数量」而不是「单条耗时」,用错了工具就会找不到。

共 4 篇文章
接口突然从 40ms 变成 1.2s,慢查询日志里没有一条超过 20ms 的 SQL。N+1 的特征是「数量」而不是「单条耗时」,用错了工具就会找不到。

「我建了索引为什么还是慢」——因为索引存在不等于被使用。这七种写法会让优化器直接放弃索引,而且都不会报错。

一次发布同时改表结构和读写代码,回滚就无从下手。迁移的正确姿势是拆成四步,让新旧版本能同时跑。

很多人把 journal_mode=WAL 当成一个「开了就快」的开关,但它真正改变的是并发模型。搞清楚它解决了什么、又付出了什么代价,才知道什么时候该开、什么时候不能开。
