opção

Otimiza consultas SQL, projeta esquemas de banco de dados e resolve problemas de desempenho. Utilize quando um usuário perguntar por que sua consulta está lenta, precisar de ajuda para escrever junções ou agregações complexas, mencionar problemas de desempenho do banco de dados ou quiser projetar ou migrar um esquema. Recorra a este recurso para consultas complexas, funções de janela, CTEs, estratégias de indexação, análise de planos de consulta, criação de índices de cobertura, consultas recursivas, interpretação de EXPLAIN/ANALYZE, benchmarking de consultas antes e depois, ou migração de consultas entre bancos de dados

...Expandir tudo
57
Tempo atualizado 29 de Junho de 2026

Sobre sql-pro

O SQL Pro é uma habilidade especializada em IA projetada para aumentar a eficiência das consultas em bancos de dados, otimizar o projeto de esquemas e solucionar problemas de desempenho. Ela aborda desafios comuns em bancos de dados relacionais, nos quais as consultas são lentas ou difíceis de manter, especialmente ao lidar com junções complexas, agregações ou grandes conjuntos de dados. Ao analisar consultas SQL, planos de execução e estratégias de indexação, essa habilidade ajuda os usuários a identificar gargalos e implementar as melhores práticas para obter um desempenho mais rápido e previsível do banco de dados.

A habilidade oferece um fluxo de trabalho estruturado que começa com a análise do esquema, avaliando estruturas de banco de dados, índices e padrões de consulta para identificar restrições de desempenho. Em seguida, ela auxilia no projeto de consultas usando técnicas avançadas, como Expressões de Tabela Comum (CTEs), funções de janela e estratégias de junção adequadas. Os recursos de otimização incluem análise de planos de execução, criação de índices de cobertura, eliminação de varreduras completas de tabelas e refinamento iterativo para atingir as metas de desempenho. O SQL Pro também enfatiza a verificação por meio dos resultados do `EXPLAIN ANALYZE`, garantindo que as consultas sejam executadas com eficiência e que os índices sejam utilizados de forma eficaz. É fornecida documentação abrangente sobre consultas, justificativas de índices e métricas de desempenho para apoiar a manutenção e a transferência de conhecimento.

O SQL Pro destina-se a administradores de banco de dados, desenvolvedores e engenheiros de dados que trabalham com bancos de dados PostgreSQL, MySQL, SQL Server ou Oracle e necessitam de conhecimento especializado em ajuste de consultas, migração de esquemas ou otimização de desempenho. Casos de uso típicos incluem acelerar consultas lentas, projetar esquemas normalizados, converter consultas entre dialetos de banco de dados, analisar planos de execução e implementar análises complexas sem sacrificar a eficiência. Suas orientações são particularmente valiosas em cenários que exigem recursos avançados de SQL, como consultas recursivas, funções de janela e benchmarking de desempenho, tornando-o uma ferramenta essencial para equipes que buscam manter aplicativos de banco de dados escaláveis e de alto desempenho.

Perguntas frequentes

Como uso o SQL Pro para otimizar uma consulta lenta?

Forneça a consulta e as informações relevantes do esquema. O SQL Pro analisará os planos de execução, sugerirá melhorias nos índices e reescreverá as consultas usando padrões eficientes, como CTEs ou junções de agregação.

Quais sistemas de banco de dados são compatíveis com o SQL Pro?

O SQL Pro oferece suporte a PostgreSQL, MySQL, SQL Server e Oracle, e inclui orientações sobre as diferenças entre esses dialetos.

O SQL Pro consegue lidar com consultas analíticas complexas com funções de janela?

Sim. Ele oferece orientações para o uso eficiente de funções de janela, como ROW_NUMBER, RANK, SUM e LAG/LEAD, dentro de partições, sem auto-junções desnecessárias.

O que devo verificar ao usar EXPLAIN ANALYZE com o SQL Pro?

As principais verificações incluem detectar varreduras sequenciais em tabelas grandes, comparar o número real de linhas com o estimado e analisar os acertos no buffer e as leituras para identificar índices ausentes ou estatísticas desatualizadas.

Existem limitações ou pré-requisitos para usar o SQL Pro?

Os usuários devem ter acesso aos esquemas do banco de dados e privilégios suficientes para executar consultas e analisar planos de execução. As melhorias de desempenho dependem da indexação adequada, da estrutura da consulta e das estatísticas do banco de dados.

Ver no GitHub

SQL Pro

Core Workflow

  1. Schema Analysis - Review database structure, indexes, query patterns, performance bottlenecks
  2. Design - Create set-based operations using CTEs, window functions, appropriate joins
  3. Optimize - Analyze execution plans, implement covering indexes, eliminate table scans
  4. Verify - Run EXPLAIN ANALYZE and confirm no sequential scans on large tables; if query does not meet sub-100ms target, iterate on index selection or query rewrite before proceeding
  5. Document - Provide query explanations, index rationale, performance metrics

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Query Patternsreferences/query-patterns.mdJOINs, CTEs, subqueries, recursive queries
Window Functionsreferences/window-functions.mdROW_NUMBER, RANK, LAG/LEAD, analytics
Optimizationreferences/optimization.mdEXPLAIN plans, indexes, statistics, tuning
Database Designreferences/database-design.mdNormalization, keys, constraints, schemas
Dialect Differencesreferences/dialect-differences.mdPostgreSQL vs MySQL vs SQL Server specifics

Quick-Reference Examples

CTE Pattern

-- Isolate expensive subquery logic for reuse and readabilityWITH ranked_orders AS (    SELECT        customer_id,        order_id,        total_amount,        ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) AS rn    FROM orders    WHERE status = 'completed'          -- filter early, before the join)SELECT customer_id, order_id, total_amountFROM ranked_ordersWHERE rn = 1;                           -- latest completed order per customer

Window Function Pattern

-- Running total and rank within partition — no self-join requiredSELECT    department_id,    employee_id,    salary,    SUM(salary)  OVER (PARTITION BY department_id ORDER BY hire_date) AS running_payroll,    RANK()       OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rankFROM employees;

EXPLAIN ANALYZE Interpretation

-- PostgreSQL: always use ANALYZE to see actual row counts vs. estimatesEXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)SELECT *FROM orders oJOIN customers c ON c.id = o.customer_idWHERE o.created_at > NOW() - INTERVAL '30 days';

Key things to check in the output:

  • Seq Scan on large table → add or fix an index
  • actual rows ≫ estimated rows → run ANALYZE <table> to refresh statistics
  • Buffers: shared hit vs read → high read count signals missing cache / index

Before / After Optimization Example

-- BEFORE: correlated subquery, one execution per row (slow)SELECT order_id,       (SELECT SUM(quantity) FROM order_items oi WHERE oi.order_id = o.id) AS item_countFROM orders o;-- AFTER: single aggregation join (fast)SELECT o.order_id, COALESCE(agg.item_count, 0) AS item_countFROM orders oLEFT JOIN (    SELECT order_id, SUM(quantity) AS item_count    FROM order_items    GROUP BY order_id) agg ON agg.order_id = o.id;-- Supporting covering index (includes all columns touched by the query)CREATE INDEX idx_order_items_order_qty    ON order_items (order_id)    INCLUDE (quantity);

Constraints

MUST DO

  • Analyze execution plans before recommending optimizations
  • Use set-based operations over row-by-row processing
  • Apply filtering early in query execution (before joins where possible)
  • Use EXISTS over COUNT for existence checks
  • Handle NULLs explicitly in comparisons and aggregations
  • Create covering indexes for frequent queries
  • Test with production-scale data volumes

MUST NOT DO

  • Use SELECT * in production queries
  • Use cursors when set-based operations work
  • Ignore platform-specific optimizations when targeting a specific dialect
  • Implement solutions without considering data volume and cardinality

Output Templates

When implementing SQL solutions, provide:

  1. Optimized query with inline comments
  2. Required indexes with rationale
  3. Execution plan analysis
  4. Performance metrics (before/after)
  5. Platform-specific notes if applicable

Documentation

Instalar sql-pro

Baixe e extraia os arquivos de habilidades para o diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

git clone https://github.com/Jeffallan/claude-skills/blob/main/skills/sql-pro/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuração rápida: Copie a pasta da habilidade para .claude/skills/. O Claude detectará e utilizará automaticamente a habilidade

Habilidades relacionadas

microservices-patterns
Tempo atualizado 29 de Junho de 2026
fabric-lakehouse
Tempo atualizado 30 de Junho de 2026
jpa-patterns
Tempo atualizado 30 de Junho de 2026
prisma-expert
Tempo atualizado 29 de Junho de 2026
OR