SQL优化神器PawSQL Advisor使用手册(最新版)

概述
PawSQL Advisor是化神由PawSQL团队开发的,面向数据库应用开发人员的使用手册自动化、智能化SQL优化工具,最新 它融合了业界关于数据库优化的最佳实践, 从正确性和性能两个方面对SQL进行审查和重写优化;并基于SQL查询的结构、数据库对象的化神定义及统计信息,提供智能索引推荐功能,使用手册帮助数据应用开发人员一键提升应用性能。最新
核心功能
基于规则的化神SQL审查,包括正确性审查和性能优化审查规则。使用手册基于规则的最新重写优化,推荐语义等价、化神但执行效率更高的使用手册SQL。智能索引推荐,最新满足各种SQL语法组合的化神场景下,推荐最优的使用手册索引组合。基于代价的最新优化验证,确保基于SQL重写和索引推荐的新方案有着更好的性能。索引分析引擎,对已有的索引进行分析,识别冗余索引。WordPress模板支持数据库
PawSQL基于自研的SQL解析器,支持多种数据库类型以及SQL方言,当前支持的数据库列表如下,还在不断增加中...
MySQL 5.6及以上 (official)PostgreSQL 9.1及以上 (official)openGauss 1.0及以上 (official)MariaDB 5.6及以上(β测试)Oracle 9i及以上(β测试)KingbaseES V8(β测试)使用手册
1、插件安装
PawSQL Advisor是基于IntelliJ的IDE插件,支持的Jetbrain工具包括IntelliJ IDEA,DataGrip,PyCharm,Android Studio, AppCode, DataSpell, GoLand, PhpStorm, WebStorm等, 可以通过Jetbrain应用市场安装。

2、配置页面
PawSQL Advisor提供一个项目级的配置页面,供用户进行优化任务输入、输出、数据源以及执行过程的参数配置。


注意:Mapper文件作为输入对于应用开发人员非常重要,因为在应用开发初期,开发人员对于前端的输入组合无法完全掌握,所能组合的SQL业务无法确定,此选项可以确保对于所有的组合,都能够合适的索引推荐出来以提升性能。但是由于Mapper配置文件可能书写不够规范,导致组合出的某些SQL语句在真实的场景下永远不会出现,进而推荐出无用的索引。
结果展示,用来设定输出的SQL优化建议的语言,目前支持中文及英文两种。是否启用重写优化,高防服务器此选项控制是否启用重写优化,在SQL以及上线的情况下,修改SQL可能无法立即实施,在此情况下,可以禁用此选项,来获取索引推荐的建议,快速进行性能优化。是否启用What-If性能验证,此选项控制是否对推荐的优化建议进行性能验证,如果启用此选项,PawSQL在优化详情中会提供SQL优化前后的执行计划及代价信息,从而确保推荐的优化建议(重写优化及索引推荐)能够真实提升数据库性能。性能验证时是否执行SQL,如果启用此选项,则在进行What-If性能验证时获取SQL的真实解析及执行时间,避免了MySQL对中间结果表explain的缺陷,代价估算更加精确。注意:最后两个性能验证的选项应避免在生产库上使用,因为对于没有内置what-if(内置虚拟索引)的数据库(MySQL/Postgres皆是)来说,性能验证是通过创建推荐索引并进行explain分析执行计划,然后删除推荐索引的方式来做的。这个过程在生产库上会消耗一定的资源,且执行时间可能会比较长,可能对生产库上的业务运行产生影响。
(2)数据库配置
在PawSQL Advisor中,数据库连接信息作用有两个:一用来获取SQL对应的数据库对象,包括数据库表、视图、列、索引信息。二是用来对优化建议进行What-If性能验证,以确保优化建议能够提升SQL的查询性能。
数据库类型,指定连接的数据库类型,目前支持MySQL,PostgreSQL,Opengauss, Oracle, MariaDB, KingbaseES六种数据库.地址,数据库地址。端口,数据库端口。用户,数据库用户。密码,数据库用户密码。默认数据库,默认数据库名称,链接默认的数据库名称。数据库或是模式列表,数据库列表(MySQL)或是模式列表(PostgreSQL/Opengauss),PawSQL会将列表项下的表、视图、索引及其对应的统计信息作为SQL性能优化的输入。(3)索引推荐配置
3、执行优化
(1)对文件/文件夹中的SQL进行优化右键点击需要进行分析的SQL文件或是文件夹,点击PawSQL Advisor->Optimize,启动对此文件或是文件夹中的所有SQL语句的优化。

您也可以点击PawSQL Advisor->Optimize Config...,此按钮将调出参数配置页面,方便您在执行前对执行参数进行配置,并立即进行优化执行。
(2)对选中的SQL文本进行优化在IDE的文本/代码编辑器中选中待优化的SQL,点击右键,点击PawSQL Advisor->Optimize Selected.

同样的,您也可以点击PawSQL Advisor->Optimize Selected Config...,此按钮将调出参数配置页面,方便您在执行前对执行参数进行配置,并立即进行优化执行。
(3)优化过程日志查询优化的执行过程可以通过下方的日志终端查看。

4、执行结果解读
当优化完成后,PawSQL会生成一个优化汇总信息文件,并自动打开该文件。此文件是以pawTunningSummary结尾的markdown文件,建议您安装Markdown插件(在应用市场搜索"Markdown"进行安装),以便能够通过超链接查看单SQL的优化详情。
(1)整体优化建议查看pawTuningSummary文件获取优化的整体信息,主要包括三部分。
整体优化概要推荐索引信息SQL优化列表
点击整体优化建议pawTunningSummary中的SQL优化列表中具体的SQL名称,可以进入到单SQL的优化详情文件。此文件中的内容主要包括:
原始SQL重写优化重写后的SQL重写所应用的优化策略,重写优化对应的SQL片段
规则审查情况:
违反的审查规则违反规则的SQL片段
索引推荐情况:
推荐的索引索引推荐的依据
索引分析:
各个表上的索引列表索引如何帮助此SQL执行冗余索引分析单表索引个数超过阈值提示
性能验证:
性能提升比验证生效的推荐索引优化之前的执行计划优化之后的执行计划
关于PawSQL
PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,Opengauss等,提供的SQL优化产品包括
PawSQL Cloud,在线自动化SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员。PawSQL Advisor,IntelliJ 插件, 适用于数据应用开发人员,可以IDEA/DataGrip应用市场通过名称搜索“PawSQL Advisor”安装。PawSQL Engine, 是PawSQL系列产品的后端优化引擎,可以独立安装部署,并通过http/json的接口提供SQL优化服务。PawSQL Engine以docker镜像的方式提供部署安装。本文地址:http://www.bzuk.cn/html/068a9899833.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。