вариант

Оптимизирует SQL-запросы, разрабатывает схемы баз данных и устраняет проблемы с производительностью. Используйте эту функцию, когда пользователь спрашивает, почему его запрос выполняется медленно, нуждается в помощи при написании сложных соединений или агрегаций, упоминает о проблемах с производительностью базы данных или хочет разработать схему или перенести существующую. Обращайтесь к этой функции при работе со сложными запросами, оконными функциями, CTE, стратегиями индексирования, анализом плана запроса, созданием охватывающих индексов, рекурсивными запросами, интерпретацией EXPLAIN/ANALYZE, тестированием производительности запросов «до и после» или при миграции запросов между базами данных.

...Расширить все
57
Обновлено время 29 июня 2026 г.

О sql-pro

SQL Pro — это специализированный навык искусственного интеллекта, предназначенный для повышения эффективности запросов к базам данных, оптимизации проектирования схем и устранения проблем с производительностью. Он решает типичные проблемы реляционных баз данных, когда запросы выполняются медленно или их сложно поддерживать, особенно при работе со сложными соединениями, агрегациями или большими наборами данных. Анализируя SQL-запросы, планы выполнения и стратегии индексирования, этот навык помогает пользователям выявлять узкие места и внедрять передовые методы для обеспечения более быстрой и предсказуемой производительности базы данных.

Скилл предлагает структурированный рабочий процесс, который начинается с анализа схемы: оценки структур баз данных, индексов и шаблонов запросов для точного определения факторов, ограничивающих производительность. Затем он помогает проектировать запросы с использованием передовых техник, таких как общие табличные выражения (CTE), оконные функции и подходящие стратегии соединений. Функции оптимизации включают анализ плана выполнения, создание покрывающих индексов, устранение полного сканирования таблиц и итеративное уточнение для достижения целевых показателей производительности. SQL Pro также уделяет особое внимание проверке с помощью результатов команды `EXPLAIN ANALYZE`, обеспечивая эффективное выполнение запросов и рациональное использование индексов. Предоставляется исчерпывающая документация по запросам, обоснованию выбора индексов и показателям производительности для облегчения обслуживания и передачи знаний.

SQL Pro предназначен для администраторов баз данных, разработчиков и инженеров по данным, которые работают с базами данных PostgreSQL, MySQL, SQL Server или Oracle и нуждаются в экспертных знаниях в области настройки запросов, миграции схем или оптимизации производительности. Типичные сценарии использования включают ускорение медленных запросов, проектирование нормализованных схем, преобразование запросов между диалектами баз данных, анализ планов выполнения и реализацию сложных аналитических задач без ущерба для эффективности. Рекомендации книги особенно ценны в сценариях, требующих использования расширенных возможностей SQL, таких как рекурсивные запросы, оконные функции и тестирование производительности, что делает её ключевым инструментом для команд, стремящихся поддерживать высокопроизводительные и масштабируемые приложения на базе баз данных.

Часто задаваемые вопросы

Как использовать SQL Pro для оптимизации медленного запроса?

Укажите запрос и соответствующую информацию о схеме. SQL Pro проанализирует планы выполнения, предложит улучшения индексов и перепишет запросы с использованием эффективных шаблонов, таких как CTE или агрегационные соединения.

Какие системы баз данных поддерживает SQL Pro?

SQL Pro поддерживает PostgreSQL, MySQL, SQL Server и Oracle, а также содержит рекомендации по различиям между этими диалектами.

Может ли SQL Pro обрабатывать сложные аналитические запросы с использованием оконных функций?

Да. Он предлагает рекомендации по эффективному использованию оконных функций, таких как ROW_NUMBER, RANK, SUM и LAG/LEAD, в рамках партиций без ненужных самосоединений.

На что следует обратить внимание при использовании EXPLAIN ANALYZE с SQL Pro?

Ключевые проверки включают обнаружение последовательного сканирования больших таблиц, сравнение фактического и расчетного количества строк, а также анализ попаданий в буфер и операций чтения для выявления отсутствующих индексов или устаревших статистических данных.

Существуют ли какие-либо ограничения или предварительные условия для использования SQL Pro?

Пользователи должны иметь доступ к схемам баз данных и достаточные привилегии для запуска запросов и анализа планов выполнения. Повышение производительности зависит от правильной индексации, структуры запросов и статистики базы данных.

Посмотреть на 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

Установить sql-pro

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

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

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в каталог .claude/skills/ — Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий jeffallan/claude-skills

Похожие навыки

microservices-patterns
Обновлено время 29 июня 2026 г.
fabric-lakehouse
Обновлено время 30 июня 2026 г.
jpa-patterns
Обновлено время 30 июня 2026 г.
prisma-expert
Обновлено время 29 июня 2026 г.
OR