执行计划可视化
概述
执行计划(Execution Plan)是数据库在执行SQL查询时内部生成的执行策略,它描述了SQL在数据库内部是如何一步一步执行的,是进行诊断SQL性能问题和进行调优的重要依据。随着数据库应用处理复杂度的提高,SQL执行计划也随着SQL也变得越来越复杂。依赖纯文本的执行计划分析阅读难度大,难以把握整体执行计划、定位关键路径及瓶颈,给DBA的性能优化工作带来很大挑战。
执行计划可视化工具直观地将执行计划以流程图形式呈现,清晰展示计划结构,使用视觉元素突出显示关键操作和路径,同时关联SQL语句源码,整合多方面信息进行综合分析。这 样可以极大地提高DBA读懂和分析执行计划的效率,快速定位性能瓶颈,针对SQL或索引进行精准优化。
各个商业数据库通常会开发自己的执行计划可视化工具,以帮助数据库使用人员理解SQL是如何执行的,并快速定位SQL的性能问题。而开源数据库虽然用户量巨大,但是执行计划可视化的工具确很少。特别是目前市场上还没有合适的针对MySQL的执行计划可视化工具。
PawSQL Plan Visualizer(PPV)
PawSQL的执行计划可视化工具PawSQL Plan Visualizer(PPV)是基于开源组件pev/pev2开发的一个SQL执行计划可视化工具。它的主要功能包括:
- 支持多种数据库,包括MySQL/PostgreSQL/openGauss/Oracle等
- 支持多种输入,譬如MySQL的json/tree/analyze格式,Oracle的表单格式
- 交互式分析,基于执行时间、代价、行数的高亮展示
- 基于数据库对象和算子的Metrics统计
PawEV对于MySQL的支持
支持版本及格式
MySQL版本 | 支持的输入格式 | 展示信息 |
---|---|---|
大于等于5.6,小于8.0.16 | format=json | 估算的代价/行数 |