SQL 查询优化工具(sql-tool)
自动分析 SQL 语句 + 识别性能问题 + 生成优化建议 + 推荐索引。纯本地离线运行,零第三方依赖。
核心差异化(对标头部「SQL 工具」类技能)
- 竞品弱点:企业级 SQL 优化工具(SolarWinds/Quest)价格昂贵、依赖数据库实例、配置复杂。
- 我们:三步搞定——
1. SQL 解析——自动识别 SELECT/INSERT/UPDATE/DELETE 类型,解析表名、列名、条件、JOIN、子查询等。
2. 问题检测——8 大类规则检测:SELECT 、LIKE 前导通配符、OR 条件、缺少 LIMIT、ORDER BY 无 LIMIT、子查询等。
3. 优化建议*——按严重程度排序,给出可操作的修复建议和索引推荐。 - 本地安全:SQL 语句完全本地分析,不上传任何数据。
快速开始
# 演示模式(内置示例数据)
python3 scripts/sql_optimizer.py --demo
# 分析单条 SQL
python3 scripts/sql_optimizer.py --sql "SELECT * FROM users WHERE email = 'test@example.com'"
# JSON 输出(供 Agent 调用)
python3 scripts/sql_optimizer.py --sql "SELECT * FROM orders WHERE status = 'pending' OR type = 'vip'" --json
命令示例
# 复杂查询分析
python3 scripts/sql_optimizer.py --sql "SELECT * FROM orders WHERE status = 'pending' OR customer_id > 100 ORDER BY created_at DESC"
# INSERT 语句分析
python3 scripts/sql_optimizer.py --sql "INSERT INTO logs (user_id, action, created_at) VALUES (1, 'login', NOW())"
何时使用本技能
用户说以下任一即触发:
- 「SQL 优化 / SQL 分析 / 索引建议」
- 「查询优化 / 慢查询优化 / SQL 性能」
- 「SQL 诊断 / 数据库优化」
工作流(Agent 使用建议)
- 识别需求:SQL 语句需要分析优化。
- 调用脚本:
sql_optimizer.py --sql "SQL语句"。 - 输出报告:返回评分 + 问题 + 优化建议 + 索引推荐。
- 交付:将优化建议给用户,标注修复优先级。
已知边界
- SQL 解析:基于正则表达式解析,非完整 SQL 解析器。复杂 SQL(嵌套子查询、窗口函数)解析可能不完整。
- 优化建议:基于通用规则,非基于实际执行计划。
- 离线运行:不连接任何数据库,不进行真实查询测试。
- 数据库兼容性:规则适用于 MySQL/PostgreSQL/SQLite,Oracle/SQL Server 可能有差异。