======================================================================
📘 TITLE: 💻 ГАЙД: ОПТИМИЗАЦИЯ ТЯЖЕЛЫХ SQL ЗАПРОСОВ И ИНДЕКСОВ В CLAUDE 💻 | АВТОВЫДАЧА
📂 CATEGORY: Claude
📄 FILENAME: gayd_optimizatsiya_tyazhelyh_sql_zaprosov_i_indeksov_v_claude_avt_guide.txt
======================================================================
💻 ГАЙД: АНАЛИЗ ПЛАНОВ ВЫПОЛНЕНИЯ (EXPLAIN ANALYZE) И ОПТИМИЗАЦИЯ POSTGRESQL / MYSQL В CLAUDE 💻
🔹 ВВЕДЕНИЕ:
Медленные SQL-запросы с полным сканированием таблиц (Sequential Scan) на базах данных в десятки миллионов строк приводят к перегрузке CPU и падению сервисов. Claude 3.5 Sonnet умеет детально читать вывод `EXPLAIN (ANALYZE, BUFFERS)`, находить узкие места в JOIN'ах и предлагать точечные составные индексы (B-Tree, GIN, BRIN).
🔹 ШАГ 1: ПРОМПТ ДЛЯ ОПТИМИЗАЦИИ ЗАПРОСА
```xml
Ты — Senior Database Administrator (PostgreSQL High-Load Specialist).
Оптимизируй медленный SQL-запрос и вывод плана выполнения EXPLAIN ANALYZE.
[ВСТАВЬТЕ ВАШ SQL ЗАПРОС]
[ВСТАВЬТЕ ВЫВОД EXPLAIN (ANALYZE, BUFFERS)]
1. Объясни, почему запрос выполняется медленно (Seq Scan, Hash Join, Disk Spills).
2. Перепиши SQL с использованием CTE, Window Functions или партиционирования.
3. Предоставь DDL-команды создания необходимых составных или частичных индексов (Partial Indexes).
```
🔹 ШАГ 2: ПРИМЕР ЧАСТИЧНОГО ИНДЕКСА (PARTIAL INDEX)
Claude часто находит решения, ускоряющие запросы в 100 раз при экономии 90% дискового пространства:
```sql
-- Вместо индексации всей таблицы на 50 млн строк:
CREATE INDEX idx_orders_unprocessed
ON orders (created_at)
WHERE status = 'PENDING';
```
💡 Если у вас возникнут любые вопросы по выполнению шагов из этого гайда — напишите в чат заказа, я с радостью подскажу!