Agent Skills
返回列表
📊

Snowflake 查询分析器

数据分析 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/snowflake-query-profiler。

技能介绍

解决什么问题

Snowflake 查询性能问题往往隐藏在执行计划、仓库规模和数据扫描的细节里。手动排查时,团队常面临三个典型痛点:

  • 仓库规模不匹配:自动扩缩容策略下,WH_SIZE 与实际并发需求脱节,导致查询排队或资源浪费
  • 扫描效率低下:未优化的表扫描会放大 BYTES_SCANNED,直接影响 credit 消耗和响应时间
  • 聚簇键缺失或失效:缺乏合理的 CLUSTERING KEY,导致 pruning 效果差,查询需要扫描大量微分区

工作原理

该技能通过以下步骤完成查询画像与优化建议:

  • 元数据采集:读取 SNOWFLAKE.INFORMATION_SCHEMA 中的 TABLES、COLUMNS 和 TABLE_STORAGE_METRICS,获取表结构、行数、存储大小等基础信息
  • 历史分析:查询 SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY,提取 QUERY_TEXT、EXECUTION_TIME、BYTES_SCANNED、TOTAL_ELAPSED_TIME 等字段
  • 瓶颈识别:

- 对比 MEDIAN_EXECUTION_TIME 和 P95_EXECUTION_TIME,定位长尾查询
- 计算 BYTES_SCANNED / ROWS_RETURNED,识别全表扫描问题
- 检查 WAREHOUSE_SIZE 与 AVERAGE_CONCURRENCY 的匹配度

  • 优化建议生成:

- 根据 TABLE_STORAGE_METRICS.PARTITION_COUNT 和查询频率,推荐 CLUSTERING KEY 候选列
- 结合 CREDITS_USED 趋势,提示是否调整仓库自动扩缩容的 MIN_CLUSTER_SIZE 和 MAX_CLUSTER_SIZE
- 对高成本查询,建议添加 WHERE 条件或物化视图

适用边界

  • 分析结果依赖 QUERY_HISTORY 的数据保留周期,默认最长 400 天
  • 聚簇键建议基于统计信息,实际效果需结合写入模式和查询模式验证
  • 仓库规模优化建议假设使用标准自动扩缩容策略,对于固定集群需手动调整
  • 无法替代 Snowflake 原生的 EXPLAIN 或 QUERY_TRACE,适合作为初步诊断和优化方向参考

该技能适合数据工程师和分析师在优化 Snowflake 查询性能、控制成本时使用,帮助快速定位仓库配置、扫描效率和聚簇策略的问题。

使用场景

  • 当 Snowflake 仓库执行复杂 SQL 经常排队时,需要判断是仓库规格不足还是表扫描过大
  • 分析月度 Snowflake 账单时,需要找出扫描字节远高于返回行数的低效查询
  • 表数据增长后报表查询变慢,需要根据分区和查询模式推荐聚簇键
  • 季度成本复盘时,需要按 credits 消耗排序定位高成本查询并给优化方向

适合人员

  • 数据工程师,需要持续优化 Snowflake 仓库规格和扫描成本
  • SQL 分析师,在编写复杂查询时希望获得聚簇键建议以改善 pruning
  • 数据库管理员,每月审查查询历史时需要定位高扫描量查询
  • 成本优化负责人,需要按 credits 消耗识别并优化高成本查询