在 JetBrains Marketplace 上搜索 “PawSQL”,会看到两款并排的插件,它们都是 4.5 星评分:

-
PawSQL Advisor(收费软件,累计下载 19,166 次)
自动化、智能化的 SQL 优化工具,支持 MySQL、PostgreSQL 等多种数据库,累计下载 19,166 次,本月下载 260 次。
-
PawSQL Client(免费软件,累计下载 8,324 次)
把 PawSQL 的智能 SQL 优化能力无缝接入 JetBrains IDE。
今天,我们主要介绍 PawSQL Client 的 0.2.1 版本带来的新功能。
它解决什么问题
写 SQL 有两件事最费劲:
-
一条查询慢,不知道该加哪个索引、该怎么改写;
-
一条不带 WHERE 的 UPDATE 或 DELETE,手一快执行出去,就是一次事故。
PawSQL Client 把这两件事都接了。装在 DataGrip、IDEA Ultimate 等 IDE 里,光标停在哪条语句,点一下就能拿到优化方案;执行 SQL 之前,自动先过一遍审核,该拦的拦下来。
优化:不是仅仅建议,是能直接用的方案
把光标放进一条 SQL,点击Optimize SQL,结果页会给出四样东西:
- 推荐索引的 CREATE INDEX DDL,可以直接拷到库里执行
- 改写后的 SQL, 附规则名和命中片段
- 违规清单 , 按严重级别排列
- 优化前后的实测性能提升(开启 What-If 后)
举个例子:
一条"查某个客户最近三笔订单"的查询,PawSQL 会建议在 customer key 和 order date 上建复合索引。列序先按客户过滤,再按日期取最近几条,正好贴合查询模式。结果页还附有前后执行计划的对比:原来的全表扫描加排序,变成了索引查找。方案是现成的,照着做就行。

执行前审核:高危语句先拦一道
在设置里勾选"执行前强制审核",每条 SQL 真正执行之前,都会先过一遍静态规则分析:
-
命中拦截级别的语句会被拦下,审核详情显示在当前 console 的结果面板,包括风险横幅和完整细节;
-
未达拦截级别的语句照常执行,详情留作参考。
审核只做静态规则分析,不运行 What-If,不会拖慢执行。如果服务器 60 秒内没有响应,会直接放行,宁可漏拦,也不把执行卡死。

上手更轻松
-
零配置
第一次优化某个数据源时,插件根据连接指纹自动创建在线工作空间并记住绑定。连接不变就复用,主机、库或账号变了就自动重建。数据源也从 console 上下文自动解析。
-
不连数据库也能用
没有绑定数据源时,点击 Optimize SQL 会弹出选择框,可以选现有数据源、选工作空间,或者只做结构分析。结构分析只需选一个数据库类型,不用登录、不用连库、不用建工作空间。
-
匿名免登录
在设置页勾选"匿名",即可使用内置共享 key,无需注册账号。
-
结果直接进 console
优化和审核的结果都落在当前 console 的结果面板里,一个 console 一个 tab,重复优化替换同一个 tab,新结果自动滚动到顶部。

兼容性与安装
IDE:DataGrip、IDEA Ultimate 等带 Database 插件的 IDE 支持完整功能;IDEA Community、WebStorm 等降级运行。界面语言中英文跟随 IDE。
安装: 从 Marketplace 安装或更新,也可以从磁盘安装 zip 包。
数据库: MySQL、PostgreSQL、Oracle、openGauss、MariaDB、KingbaseES、DM(达梦)、SQL Server、OceanBase 等。
免费,不限每日配额。找一条慢查询试一试,就知道值不值得装。
转载自 CSDN-专业IT技术社区




