PEV2(PostgreSQL Explain Visualizer 2)是一款专门为 PostgreSQL 数据库开发的开源工具,它可以将复杂的 SQL 查询执行计划转换为直观的图形,帮助开发者和数据库管理员更轻松地理解和优化查询性能。

PEV2 项目基于 Vue/TypeScript 开发,遵循 PostgreSQL 开源协议,代码托管在 GitHub:
https://github.com/dalibo/pev2
功能特性
- 可视化:将文本或 JSON 格式的执行计划转换为树状图,清晰地展示 SQL 语句在数据库内部的执行步骤和节点关系。
- 精准解析:对执行计划中的节点进行深度解析,提供详细的执行信息,例如节点类型、I/O 与缓冲区、成本、行数等。
- 性能分析:通过图形和网格视图(Grid View)展示执行的时间、代价、行数等关键指标,帮助定位性能瓶颈。

- 共享执行计划:可以将执行计划链接在线分享给其他人,便于协作和讨论。
- 多种部署方式:既可以在线使用,也可以本地部署,或者集成到现有应用程序。
使用方法
PEV2 提供了多种使用方式。
第一种是在线平台,通过以下地址进行访问:

直接上传或粘贴执行计划文本进行可视化分析,这种方式适合快速、临时的分析和在线分享。
第二种方式是本地部署,直接下载单个 HTML 静态文件:
https://www.github.com/dalibo/pev2/releases/latest/download/pev2.html
然后直接在浏览器中打开这个文件:

这种方式的查询计划数据不会离开本地环境,确保数据安全。
第三种方式是将 PEV2 组件集成到自己的 Web 应用程序中,通过 npm 进行安装:
npm install pev2
然后参考这个在线示例:
https://stackblitz.com/edit/pev2-vite

总结
无论是优化慢查询,还是深入学习 PostgreSQL 的查询优化器工作原理,PEV2 都能帮助我们显著提升工作效率。