Skip to main content
PawSQL Client for JetBrains 将 SQL 审核、查询重写、索引推荐和性能验证集成到 IntelliJ Platform。它既适合开发人员优化当前语句,也适合对 SQL 文件、目录或 MyBatis Mapper 进行批量分析。
插件在部分界面和历史文档中称为 PawSQL Advisor。因此,安装时可能需要搜索 PawSQL Client 或 PawSQL Advisor,操作菜单通常仍显示 PawSQL Advisor。

目标

安装并配置 PawSQL Client for JetBrains,优化选中的 SQL、SQL 文件、目录或 MyBatis Mapper。

准备工作

需要一个兼容的 IntelliJ Platform IDE,以及访问 JetBrains 插件市场(或 PawSQL 官方 / 企业可信仓库提供的离线包)的权限。

支持的 IDE

插件适用于 IntelliJ IDEA、DataGrip、PyCharm、GoLand、WebStorm、PhpStorm、DataSpell、Android Studio 等 IntelliJ Platform 产品。具体 IDE 和版本兼容性以 JetBrains Marketplace 当前发布信息为准。

安装插件

从 JetBrains 插件市场安装,步骤详见安装 IDE 插件。安装后打开 SQL 文件或项目目录,确认右键菜单中出现 PawSQL Advisor 操作。 企业网络无法访问 Marketplace 时,只使用 PawSQL 官方或企业可信软件仓库提供的离线包,并核对 IDE、插件与 PawSQL Server 的版本兼容性。

配置输入和优化选项

PawSQL Advisor 提供项目级配置。常用选项包括: Mapper 输入会解析动态分支并生成可能的 SQL 组合。编写不规范的 Mapper 可能产生不会实际执行的组合,进而形成无效的索引建议,应在批量优化前检查动态条件。

配置数据库上下文

数据库连接可用于获取表、视图、列、索引及统计信息,也可用于性能验证。配置时通常需要数据库类型、地址、端口、用户名、密码、默认数据库以及数据库或 Schema 范围。
启用 What-If 或实际执行验证后,PawSQL 可能连接目标数据库,并根据数据库能力创建和删除用于评估的推荐索引。不要未经评估就在生产数据库启用;应检查账号权限、资源、锁和业务影响。

配置索引推荐

根据治理目标设置:
  • 是否与现有索引去重;
  • 是否生成覆盖索引;
  • 覆盖索引允许包含的最大列数;
  • 普通推荐索引的最大列数;
  • 单表索引数量告警阈值。
覆盖索引可能减少回表,但也会增加索引大小和写入维护成本。不要把“覆盖更多列”直接等同于“性能更好”。

优化选中的 SQL

1

选择完整语句

在编辑器中选中一条完整 SQL,避免包含相邻语句、日志或 Markdown 围栏。
2

发起优化

右键选择 PawSQL Advisor > Optimize Selected
3

按需调整本次配置

如需临时更改参数,选择 Optimize Selected Config…
4

检查运行日志

在 IDE 控制台查看解析、连接和优化过程。
5

打开优化结果

处理完成后检查自动生成的汇总和 SQL 明细。
Optimize

右键菜单中的 PawSQL Advisor 操作

优化 SQL 文件或目录

在 SQL 文件或目录上右键选择 PawSQL Advisor > Optimize,即可处理其中的 SQL。使用 Optimize Config… 可以在执行前调整配置。 批量运行前确认:
  • 输入类型与文件内容一致;
  • 文件编码和 SQL 分隔符正确;
  • 目录中不包含备份文件、生成文件和无关日志;
  • 工作空间或数据库连接对应目标环境;
  • 批量输入规模符合当前服务限制。

查看优化结果

任务完成后,插件生成并打开 pawTuningSummary Markdown 文件,通常包含:
  • 优化概览和已处理 SQL 清单;
  • 推荐索引汇总;
  • 原始 SQL、重写 SQL 和使用的重写策略;
  • 审核规则问题及对应 SQL 片段;
  • 现有索引、冗余索引和索引数量提示;
  • 启用验证后的性能改进和前后执行计划。
优化结果

优化结果

从汇总中的 SQL 名称进入详情,并按“审核问题 → 重写候选 → 索引建议 → 性能证据”的顺序阅读。

验证

优化完成后,确认插件打开了 pawTuningSummary 文件,且任务概览、重写候选、索引建议以及启用的验证证据均正常显示。

应用建议前

  • 确认重写 SQL 保持结果、参数和事务语义;
  • 检查推荐索引是否与现有索引重复或冲突;
  • 评估索引对写入、存储和维护的影响;
  • 使用代表性数据和参数验证执行计划;
  • 通过代码评审、测试和数据库变更流程发布。

常见问题

相关文档

输入待优化 SQL

查看优化结果

评估与落地建议