共计 851 个字符,预计需要花费 3 分钟才能阅读完成。
📖 项目简介
SQL 优化工具是一个基于 Spring Boot 3 的 Web 应用,针对给定的查询 SQL 进行智能优化分析,给出合适的索引建议,并支持连接真实数据源做深度优化与执行计划分析。
核心特性:索引建议颜色区分 —— 已建立的索引以灰色(删除线)展示,尚未建立的以橙色展示,均支持一键复制。
✨ 主要特性
- 🎯 智能索引建议:基于 JSqlParser 解析 AST,从 WHERE 等值 / 范围条件、JOIN ON、ORDER BY、GROUP BY 中提取候选列,生成合理的(组合)索引
- 🎨 颜色区分状态:已存在 = 灰色、缺失 / 未核实 = 橙色,一目了然,支持复制粘贴
- ✏️ 手工优化:粘贴单条 SQL 即时分析
- 🔍 扫描优化:扫描项目目录,提取 MyBatis XML、Java 代码中的 SQL 字符串、注解中的 SQL(@Select/@Insert/@Update/@Delete/@Query),逐条分析并支持一键原地替换(自动 .bak 备份)
- 🤖 AI 深度优化(可选):集成阿里云百炼(通义千问),对 SQL 智能改写
- 🔗 配置数据源(可选):配置后可进行——
- 索引存在性检测(区分灰 / 橙)
- 冗余索引检测(给出 DROP 建议)
- 大小表驱动判断(小表驱动大表建议)
- 📊 SQL 执行计划:连接数据源后执行 EXPLAIN,提供表格 / 树形 / 图形三种视图(类 DBeaver):
- 表格:结构化列 Operation / Object / Rows / Cost / Node Type
- 树形 / 图形:按执行计划层级展示节点,按操作类型着色(全表扫描红、索引绿、JOIN 紫等)
- 成本过高才建议加索引,数据量很少则提示无需建立
🎨 设计逻辑
[td]
| 场景 | 行为 |
| 未配置数据源 | 索引建议全部橙色(无法核实是否已存在),可复制 CREATE INDEX;执行计划页提示 ” 请先配置数据源 ” |
| 已配置数据源 | 索引区分灰色(已存在)/ 橙色(缺失);额外给出冗余索引、大小表驱动建议;可用执行计划分析 |
| 手工 / 扫描页头 | 配置数据源后顶部显示 ”✅ 已配置数据源,可进行深度优化 ” |
🖼️ 源码获取 https://github.com/vfaner/sql-optimizer-tool
正文完




