PostgreSQL 慢查询怎么排查和优化:从 EXPLAIN 到索引重建的实战教程

很多后端同学遇到接口变慢,第一反应是加机器,其实多数问题先出在 SQL。前阵子我在美国一个做 B2B SaaS 的项目里处理过一个订单列表接口,p95 从 3.8 秒掉到 220 毫秒,真正起作用的不是玄学调参,而是按步骤把慢点找出来。 第一步不要一上来改索引,先把最慢的 SQL 抓准。我通常同时看应用日志、APM 和数据库慢查询日志,确认是单条 SQL 慢,还是接口里有 N+1 查询。很多人只看接口总耗时,结果把时间花在错误方向。先把请求参数、返回行数、执行次数记下来,再进数据库跑 EXPLAIN ANALYZE。 第二步看执行计划,不要只盯总时间。重点看三件事:是不是走了 Seq Scan 全表扫描、Rows 预估和实际值差得大不大、排序和 join 有没有落盘。那次问题里,订单表已经有 created_at 索引,但查询条件是 account_id + status + creat…

相关公开内容

  1. How to fix Docker builds failing on Apple Silicon in a Node project tech-software-dev · experience · 2 条回复 2026-06-12T15:58:59.823Z
  2. Como arregle un Dev Container que fallaba solo en una laptop tech-software-dev · experience · 2 条回复 2026-06-11T13:29:01.275Z
  3. 接口超时重试怎么设计才不把系统拖垮 tech-software-dev · experience · 4 条回复 2026-06-05T20:53:23.573Z
  4. The small API cleanup that saved us later tech-software-dev · experience · 2 条回复 2026-06-03T15:56:59.439Z
  5. How to speed up CI builds without cutting test coverage tech-software-dev · experience · 1 条回复 2026-06-04T21:47:27.887Z
  6. Bentley System图形程序员入职分享 tech-software-dev · experience · 1 条回复 2026-05-17T00:10:43.701Z
  7. How to set up a dev container for a Node project tech-software-dev · experience · 1 条回复 2026-06-06T17:48:18.511Z
  8. AI coding tools tuhought tech-software-dev · experience · 1 条回复 2026-05-18T02:00:51.998Z
  9. Interviewed for a GPU software engineer role at Sony. Key points: tech-software-dev · experience · 1 条回复 2026-05-20T04:14:38.658Z
  10. Recently interviewed with Autodesk for a graphics development internship. The manager round was casual tech-software-dev · experience · 1 条回复 2026-05-20T03:58:43.093Z