用途:根据用户提供的 Snowflake query_id,从查询历史中拉取该查询的指标与执行画像,定位性能瓶颈并给出优化后的查询。
主要能力:通过 INFORMATION_SCHEMA.QUERY_HISTORY() 获取执行时间、扫描数据量、本地/远程溢出、分区扫描比例和产出行数;用 GET_QUERY_OPERATOR_STATS('<query_id>') 查看算子级统计,识别行数膨胀、TableScan 高字节、Sort/Aggregate 溢出等问题;按常见问题给出修复方向,如分区未裁剪时在聚簇键上加过滤、溢出时简化查询或增大仓库、扫描量大时增加选择性过滤并减少列、连接膨胀时修正连接条件并在连接前过滤。
使用方式:先执行查询历史 SQL 获取指标,再获取算子统计,识别优化点后重写查询(只选必要列、尽早过滤、用 CTE 避免重复扫描、使过滤对齐聚簇键、必要时加 LIMIT),随后用 EXPLAIN USING JSON <optimized_query>; 获取优化后计划并与原计划对比,最后返回原始指标、发现的问题、优化后查询、变更摘要和预期改进。
适用场景:需要基于真实历史查询做 Snowflake 性能调优的数据工程与数据分析工作。
限制:资料未提供安装方式、依赖环境、权限要求、支持的 Snowflake 版本或自动化程度;示例中的指标与预期改进仅为演示,实际效果取决于数据与仓库配置。