在 PostgreSQL 中排查慢查询并识别缺失的索引是数据库性能优化的核心工作。这个过程通常分为三个阶段:发现问题(监控)、分析问题(执行计划) 和 解决问题(创建索引或优化查询)。 以下是系统性的排查与优化指南: --- 第一步:发现慢查询 要想解决慢查询,首先得找到它们。PostgreSQL 提供了几种强大的工具: 1. 开启慢查询日志 最简单直接的方法是通过修改 文件把慢查询记录到日志中: 修改后需要重新加载配置: 2. 使用 插件(强烈推荐) 这是 PostgreSQL 最强大的性能分析工具,它可以统计所有执行过的 SQL 的耗时、调用次数等。 配置与启用: 1. 在 中添加:(需重启数据库)。 2. 在数据库中启用插件: 查找最耗时的 TOP 5 查询: 3. 实时查看正在运行的慢查询 如果你发现数据库当前 CPU 或 IO 飙升,可以实时查看运行超过一定时间的查询: --- 第二步:分析慢查询 (使用 ) 找到慢查询后,使用 来查看数据库是如何执行这条 SQL 的。 注意: 会真实执行该 SQL,如果是 UPDATE/DELETE 请放在事务中并 ROLLBACK。...