← ClaudeAtlas

optimizing-query-textlisted

Optimizes Snowflake SQL query performance from provided query text. Use when optimizing Snowflake SQL for: (1) User provides or pastes a SQL query and asks to optimize, tune, or improve it (2) Task mentions "slow query", "make faster", "improve performance", "optimize SQL", or "query tuning" (3) Reviewing SQL for performance anti-patterns (function on filter column, implicit joins, etc.) (4) User asks why a query is slow or how to speed it up
AltimateAI/data-engineering-skills · ★ 102 · Code & Development · score 86
Install: claude install-skill AltimateAI/data-engineering-skills
# Optimize Query from SQL Text ## OUTPUT FORMAT Return ONLY the optimized SQL query. No markdown formatting, no explanations, no bullet points - just pure SQL that can be executed directly in Snowflake. ## CRITICAL: Semantic Preservation Rules **The optimized query MUST return IDENTICAL results to the original.** Before returning ANY optimization, verify: - **Same columns**: Exact same columns in exact same order with exact same aliases - **Same rows**: Filter conditions must be semantically equivalent - **Same ordering**: Preserve `ORDER BY` exactly as written - **Same limits**: If original has `LIMIT N`, keep `LIMIT N`. If no LIMIT, do NOT add one. **If you cannot guarantee identical results, return the original query unchanged.** --- ## Pattern 1: Function on Filter Column **Problem**: Functions on columns in WHERE clause prevent partition pruning and index usage. ### CAN Fix | Original | Optimized | Why Safe | |----------|-----------|----------| | `WHERE DATE(ts) = '2024-01-01'` | `WHERE ts >= '2024-01-01' AND ts < '2024-01-02'` | Equivalent range | | `WHERE YEAR(dt) = 2024` | `WHERE dt >= '2024-01-01' AND dt < '2025-01-01'` | Equivalent range | | `WHERE MONTH(dt) = 3 AND YEAR(dt) = 2024` | `WHERE dt >= '2024-03-01' AND dt < '2024-04-01'` | Equivalent range | | `WHERE DATE(ts) >= '2024-01-01' AND DATE(ts) < '2024-02-01'` | `WHERE ts >= '2024-01-01' AND ts < '2024-02-01'` | Same boundaries | | `WHERE YEAR(dt) BETWEEN 1995 AND 1996` | `WHERE dt >= '1995-01-01' AN