PawSQL功能精选 | MySQL的执行计划可视化

2023年 11月 23日 54.2k 0

概述

执行计划(Execution Plan)是数据库在执行SQL查询时内部生成的执行策略,它描述了SQL在数据库内部是如何一步一步执行的,是诊断SQL性能问题和调优的重要依据。随着SQL变得越来越复杂,依赖纯文本的执行计划分析阅读难度大,难以把握整体执行计划、定位关键路径及瓶颈,给DBA的性能优化工作带来很大挑战。

执行计划可视化工具直观地将执行计划以树状形式呈现,清晰展示SQL的内部执行步骤,同时整合多方面信息进行综合分析。这样可以极大地提高DBA读懂和分析执行计划的效率,快速定位性能瓶颈,针对SQL或索引进行精准优化。

开源数据库虽然用户量巨大,但是执行计划可视化的工具却很少,特别是缺少MySQL的执行计划可视化工具。本文将介绍PawSQL的执行计划可视化工具PawSQL Plan Visualizer(PPV)如何支持MySQL的执行计划可视化。

PawSQL Plan Visualizer(PPV)

PawSQL的执行计划可视化工具PawSQL Plan Visualizer(PPV)是基于开源组件pev/pev2开发的一个SQL执行计划可视化工具。它的主要功能包括:

  1. 支持多种数据库,包括MySQL/PostgreSQL/openGauss/Oracle等

  2. 支持多种输入,譬如MySQL的json/tree/analyze格式,Oracle的表单格式

  3. 交互式分析,基于执行时间、代价、行数的高亮展示

  4. 基于数据库对象和算子的Metrics统计

PPV对于MySQL的支持

支持版本及格式

MySQL版本 支持的输入格式 展示信息
大于等于5.6,小于8.0.16 format=json 估算的代价/行数
大于等于8.0.16, 小于8.0.18 format=json/format=tree 估算的代价/行数
大于等于8.0.18 format=json/format=tree/analyze 实际执行时间/实际的行数/估算的代价/估算的行数

创建MySQL可视化执行计划

通过将MySQL执行计划的输出文本提交到PawSQL Plan Visualizer,PawSQL以树形的结构清晰展示执行计划。

算子右上角用各类图标对一些问题进行提示,如耗时比较长、估算代价高、执行计划预估和实际执行条数出现较大偏差等,通过这些提示,DBA 就能很方便地定位问题并进行细节排查。

交互式问题定位及性能分析

  • 点击头部概要信息,快速定位执行最耗时或是代价最大节点;

  • 每个算子点击展开后,会显示其具体的耗时、条数及其他信息;

  • 点击时间、代价、行数时,以进度条的形式展示各个节点的占比情况。

基于对象和算子的统计分析

页面右侧有基于对象(表/索引)以及执行计划中的算子进行的统计分析,包括执行时间、估算代价等。

与PawSQL优化功能的集成

对于进行了性能验证的优化任务,PawSQL会获取优化前后的执行计划,并借助PPV对优化前后的执行计划进行可视化的对比。

关于PawSQL

PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,openGauss,Oracle等,提供的SQL优化产品包括

  • PawSQL Cloud,在线自动化SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员,

  • PawSQL Advisor,IntelliJ 插件, 适用于数据应用开发人员,可以IDEA/DataGrip应用市场通过名称搜索“PawSQL Advisor”安装。

  • PawSQL Engine, 是PawSQL系列产品的后端优化引擎,可以以docker镜像的方式独立安装部署,并通过http/json的接口提供SQL优化服务。

联系我们

网址: https://www.pawsql.com

邮件:service@pawsql.com

Twitter: https://twitter.com/pawsql

关注PawSQL公众号

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论