关于 query-validation
面向分析人员和数据团队的 SQL 审查技能,用于上线查询前检查,或调查异常结果与性能缓慢问题。它结合 SQL lint、反模式检查、执行计划解析和数据库引擎指南,形成结构化审查。
主要功能
- 01检查 SQL 语法及引擎兼容性
- 02按严重程度标记查询反模式
- 03解析执行计划中的慢速步骤
- 04在有架构统计时估算连接基数
- 05生成审查及优化建议
适用场景
- 01上线仪表板或报告前审查查询
- 02调查查询结果异常
- 03发现性能问题并制定改写方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nimrodfisher/ data-analytics-skills --skill query-validation安装后在 Claude Code 中输入/query-validation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/optimization_recommendations.mdquery_review_template.mdreferences/engine_specific_guide.mdsql_anti_patterns.mdscripts/cardinality_estimator.pyexplain_plan_parser.pysql_lint.py详细介绍
适用场景
- SQL 查询即将用于生产仪表板或报告
- 查询结果出乎意料或不正确
- 查询运行缓慢,需要进行性能审查
- 你想在反模式(隐式类型转换、SELECT *、无界 CTE)引发事故前发现它们
流程
- 检查查询 — 运行
scripts/sql_lint.py(基于 sqlglot),以发现语法错误、目标引擎不支持的函数和风格违规。继续之前先修复严重错误。 - 审查反模式 — 对照
references/sql_anti_patterns.md检查查询结构。为发现的反模式标注严重程度。 - 解析执行计划 — 如果有 EXPLAIN 或查询分析输出,运行
scripts/explain_plan_parser.py,提取耗时较长的步骤(全表扫描、缺少索引、行数估算值过高)。 - 估算基数 — 如果有架构统计数据,运行
scripts/cardinality_estimator.py,以标记可能导致意外扇出的联接。 - 检查引擎特定行为 — 查阅目标引擎(Snowflake / BigQuery / Postgres / Redshift)对应的
references/engine_specific_guide.md,验证日期函数、窗口行为和聚簇假设。 - 生成审查结果 — 使用发现结果填写
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