finding-expensive-queries
3
总安装量
2
周安装量
#57238
全站排名
安装命令
npx skills add https://github.com/altimateai/data-engineering-skills --skill finding-expensive-queries
Agent 安装分布
claude-code
2
antigravity
2
gemini-cli
2
amp
1
opencode
1
Skill 文档
Finding Expensive Queries
Query history â Rank by metric â Identify patterns â Recommend optimizations
Workflow
1. Ask What to Optimize For
Before querying, clarify:
- Time period? (last day, week, month)
- Metric? (execution time, bytes scanned, cost, spillage)
- Warehouse? (specific or all)
- User? (specific or all)
2. Find Expensive Queries by Cost
Use QUERY_ATTRIBUTION_HISTORY for credit/cost analysis:
SELECT
query_id,
warehouse_name,
user_name,
credits_attributed_compute,
start_time,
end_time,
query_tag
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY
WHERE start_time >= DATEADD('days', -7, CURRENT_TIMESTAMP())
ORDER BY credits_attributed_compute DESC
LIMIT 20;
3. Get Performance Stats for Specific Queries
Use QUERY_HISTORY for detailed performance metrics (run separately, not joined):
SELECT
query_id,
query_text,
total_elapsed_time/1000 as seconds,
bytes_scanned/1e9 as gb_scanned,
bytes_spilled_to_local_storage/1e9 as gb_spilled_local,
bytes_spilled_to_remote_storage/1e9 as gb_spilled_remote,
partitions_scanned,
partitions_total
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
WHERE query_id IN ('<query_id_1>', '<query_id_2>', ...)
AND start_time >= DATEADD('days', -7, CURRENT_TIMESTAMP());
4. Identify Patterns
Look for:
- High
credits_attributed_computequeries - Same
query_hashrepeated (caching opportunity) partitions_scanned = partitions_total(no pruning)- High
gb_spilled(memory pressure)
5. Return Results
Provide:
- Ranked list of expensive queries with key metrics
- Common patterns identified
- Top 3-5 optimization recommendations
- Specific queries to investigate further
Common Filters
-- Time range (required)
WHERE start_time >= DATEADD('days', -7, CURRENT_TIMESTAMP())
-- By warehouse
AND warehouse_name = 'ANALYTICS_WH'
-- By user
AND user_name = 'ETL_USER'
-- Only queries over cost threshold
AND credits_attributed_compute > 0.01
-- Only queries over time threshold
AND total_elapsed_time > 60000 -- over 1 minute