mcpField
Q
query-validation

query-validation

github.com/nimrodfisher数据与数据库504228 次安装5 周前更新
代码仓库

关于 query-validation

面向分析人员和数据团队的 SQL 审查技能,用于上线查询前检查,或调查异常结果与性能缓慢问题。它结合 SQL lint、反模式检查、执行计划解析和数据库引擎指南,形成结构化审查。

主要功能

  1. 01检查 SQL 语法及引擎兼容性
  2. 02按严重程度标记查询反模式
  3. 03解析执行计划中的慢速步骤
  4. 04在有架构统计时估算连接基数
  5. 05生成审查及优化建议

适用场景

  1. 01上线仪表板或报告前审查查询
  2. 02调查查询结果异常
  3. 03发现性能问题并制定改写方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nimrodfisher/data-analytics-skills --skill query-validation

安装后在 Claude Code 中输入/query-validation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
optimization_recommendations.md
query_review_template.md
references/
engine_specific_guide.md
sql_anti_patterns.md
scripts/
cardinality_estimator.py
explain_plan_parser.py
sql_lint.py

详细介绍

适用场景

  • SQL 查询即将用于生产仪表板或报告
  • 查询结果出乎意料或不正确
  • 查询运行缓慢,需要进行性能审查
  • 你想在反模式(隐式类型转换、SELECT *、无界 CTE)引发事故前发现它们

流程

  1. 检查查询 — 运行 scripts/sql_lint.py(基于 sqlglot),以发现语法错误、目标引擎不支持的函数和风格违规。继续之前先修复严重错误。
  2. 审查反模式 — 对照 references/sql_anti_patterns.md 检查查询结构。为发现的反模式标注严重程度。
  3. 解析执行计划 — 如果有 EXPLAIN 或查询分析输出,运行 scripts/explain_plan_parser.py,提取耗时较长的步骤(全表扫描、缺少索引、行数估算值过高)。
  4. 估算基数 — 如果有架构统计数据,运行 scripts/cardinality_estimator.py,以标记可能导致意外扇出的联接。
  5. 检查引擎特定行为 — 查阅目标引擎(Snowflake / BigQuery / Postgres / Redshift)对应的 references/engine_specific_guide.md,验证日期函数、窗口行为和聚簇假设。
  6. 生成审查结果 — 使用发现结果填写 assets/query_review_template.md;如果发现任何性能问题,则填写 assets/optimization_recommendations.md。

此技能所需输入

  • 必填:SQL 查询文本
  • 必填:目标数据库引擎(Snowflake / BigQuery / Postgres / Redshift / 其他)
  • 可选:相关表结构(列名、类型、近似行数)
  • 可选:EXPLAIN / 查询分析输出
  • 可选:预期业务逻辑 — 查询应该计算什么?

输出

  • assets/query_review_template.md(已填写)— 按类别整理的发现:正确性、性能、风格
  • assets/optimization_recommendations.md(已填写,如发现问题)— 按优先级排序的重写建议及预期影响

评论

支持 Markdown