跳到主要内容
知仓学习社ZHICANG

sql-query-optimizer

Analyzes and optimizes SQL queries across different data warehouse platforms (Snowflake, BigQuery, Redshift, Databricks) with platform-specific reco…

读凭据严重 1 · 高危 0a5c-ai/babysitter

它会碰到什么

扫了多少2 个文本文件,15 KB
它会碰到什么读凭据
命中总数1 处
命中统计严重 1 · 高 0 · 中 0 · 低 0
逐条看命中(1 条严重或高危)
  • 严重 SKILL.md:285cred-paths
    - [Redshift Performance Tuning](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-queries-best-practices.html)

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

SQL Query Optimizer

Analyzes and optimizes SQL queries across different data warehouse platforms with platform-specific recommendations.

Overview

This skill examines SQL queries to identify performance bottlenecks, suggest optimizations, and provide platform-specific recommendations for Snowflake, BigQuery, Redshift, and Databricks. It analyzes query execution plans, recommends indexes/clustering keys, and identifies anti-patterns.

Capabilities

  • Query execution plan analysis - Parse and analyze EXPLAIN outputs
  • Index recommendations - Suggest clustering keys, sort keys, partition keys
  • Join optimization - Identify inefficient join patterns and suggest improvements
  • Subquery elimination - Convert correlated subqueries to CTEs or joins
  • CTE optimization - Materialize vs reference optimization
  • Window function optimization - Frame and partition optimization
  • Predicate pushdown validation - Verify filter pushdown effectiveness
  • Clustering key recommendations - Platform-specific clustering strategies
  • Materialized view suggestions - Identify candidates for materialized views
  • Platform-specific optimizations - Snowflake, BigQuery, Redshift, Databricks

Input Schema

{
  "query": {
    "type": "string",
    "description": "The SQL query to analyze",
    "required": true
  },
  "platform": {
    "type": "string",
    "enum": ["snowflake", "bigquery", "redshift", "databricks", "postgres"],
    "required": true,
    "description": "Target data warehouse platform"
  },
  "tableStatistics": {
    "type": "object",
    "description": "Table statistics including row counts, column cardinality",
    "properties": {
      "tables": {
        "type": "array",
        "items": {
          "name": "string",
          "rowCount": "number",
          "sizeGB": "number",
          "columns": "array"
        }
      }
    }
  },
  "executionPlan": {
    "type": "object",
    "description": "Query execution plan (EXPLAIN output)"
  },
  "queryHistory": {
    "type": "object",
    "description": "Historical query performance metrics"
  },
  "optimizationGoals": {
    "type": "array",
    "items": {
      "type": "string",
      "enum": ["latency", "cost", "throughput", "scan_reduction"]
    },
    "default": ["latency", "cost"]
  }
}

Output Schema

{
  "optimizedQuery": {
    "type": "string",
    "description": "The optimized SQL query"
  },
  "improvements": {
    "type": "array",
    "items": {
      "type": {
        "type": "string",
        "enum": ["join", "predicate", "aggregation", "cte", "window", "scan", "index"]
      },
      "description": "string",
      "impact": "high|medium|low",
      "lineNumber": "number",
      "originalCode": "string",
      "optimizedCode": "string"
    }
  },
  "indexRecommendations": {
    "type": "array",
    "items": {
      "table": "string",
      "type": "clustering|sort|partition|index",
      "columns": "array",
      "rationale": "string",
      "ddl": "string"
    }
  },
  "estimatedImprovement": {
    "scanReduction": {
      "type": "number",
      "description": "Percentage reduction in data scanned"
    },
    "timeReduction": {
      "type": "number",
      "description": "Percentage reduction in execution time"
    },
    "costReduction": {
      "type": "number",
      "description": "Percentage reduction in query cost"
    }
  },
  "antiPatterns": {
    "type": "array",
    "items": {
      "pattern": "string",
      "severity": "high|medium|low",
      "location": "string",
      "suggestion": "string"
    }
  },
  "platformSpecificNotes": {
    "type": "array",
    "items": "string"
  }
}

Usage Examples

Basic Query Optimization

{
  "query": "SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id WHERE o.created_at > '2024-01-01'",
  "platform": "snowflake"
}

With Execution Plan Analysis

{
  "query": "SELECT customer_id, SUM(amount) FROM orders GROUP BY customer_id",
  "platform": "bigquery",
  "executionPlan": {
    "stages": [...],
    "totalBytesProcessed": 1073741824
  },
  "optimizationGoals": ["cost", "scan_reduction"]
}

With Table Statistics

{
  "query": "SELECT ... complex query ...",
  "platform": "redshift",
  "tableStatistics": {
    "tables": [
      {
        "name": "orders",
        "rowCount": 10000000,
        "sizeGB": 50,
        "columns": [
          {"name": "order_id", "cardinality": 10000000},
          {"name": "customer_id", "cardinality": 500000}
        ]
      }
    ]
  }
}

Platform-Specific Optimizations

Snowflake

| Optimization | Description |

|--------------|-------------|

| Clustering keys | Recommend micro-partition clustering |

| Result cache | Identify queries benefiting from caching |

| Query acceleration | Suggest QUERY_ACCELERATION_MAX_SCALE_FACTOR |

| Warehouse sizing | Right-size warehouse recommendations |

BigQuery

| Optimization | Description |

|--------------|-------------|

| Partitioning | DATE/TIMESTAMP partitioning recommendations |

| Clustering | Up to 4 clustering columns |

| BI Engine | Identify BI Engine-eligible queries |

| Slots | Estimate slot usage optimization |

Redshift

| Optimization | Description |

|--------------|-------------|

| Sort keys | COMPOUND vs INTERLEAVED recommendations |

| Distribution | KEY, EVEN, ALL distribution strategies |

| Compression | Column encoding recommendations |

| Vacuum | VACUUM and ANALYZE recommendations |

Databricks

| Optimization | Description |

|--------------|-------------|

| Z-ordering | Multi-column Z-order recommendations |

| Delta cache | Caching strategy recommendations |

| Photon | Photon-eligible query patterns |

| Adaptive execution | AQE configuration suggestions |

Common Anti-Patterns Detected

Query Structure

| Anti-Pattern | Impact | Fix |

|--------------|--------|-----|

| SELECT * | High | Specify columns explicitly |

| Correlated subqueries | High | Convert to JOIN or CTE |

| DISTINCT on large datasets | Medium | Use GROUP BY or window functions |

| Non-SARGable predicates | High | Rewrite for index usage |

Join Issues

| Anti-Pattern | Impact | Fix |

|--------------|--------|-----|

| Cartesian products | Critical | Add join conditions |

| Implicit joins | Medium | Use explicit JOIN syntax |

| Wrong join order | High | Reorder by selectivity |

| Missing indexes on join keys | High | Add clustering/sort keys |

Aggregation Issues

| Anti-Pattern | Impact | Fix |

|--------------|--------|-----|

| GROUP BY ordinal | Low | Use column names |

| Aggregating before filter | High | Filter first, then aggregate |

| Over-grouping | Medium | Reduce GROUP BY columns |

Integration Points

MCP Server Integration

  • Snowflake MCP - Real-time execution plan analysis
  • BigQuery MCP - Cost estimation and slot analysis
  • Redshift MCP - Query execution and statistics

Related Skills

  • Data Quality Profiler (SK-DEA-005) - Table statistics gathering
  • dbt Project Analyzer (SK-DEA-003) - Model query optimization

Applicable Processes

  • Query Optimization (query-optimization.js)
  • Data Warehouse Setup (data-warehouse-setup.js)
  • BI Dashboard Development (bi-dashboard.js)
  • OBT Creation (obt-creation.js)

References

Version History

  • 1.0.0 - Initial release with multi-platform support

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,796
本站分层T1
该仓技能数2115
原文件路径library/specializations/data-engineering-analytics/skills/sql-query-optimizer/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 2115 个技能