Оптимизация БД — индексы, N+1, планы запросов, пагинация (роль database). Use when запрос/эндпоинт медленный и нужен замер + починка с доказанным эффектом; спроектировать схему с нуля — $database-schema.
Installs into .claude/skills of the current project.
Are you the author of Database Optimize?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vitammiin-database-optimize)
---
name: database-optimize
description: Оптимизация БД — индексы, N+1, планы запросов, пагинация (роль database). Use when запрос/эндпоинт медленный и нужен замер + починка с доказанным эффектом; спроектировать схему с нуля — $database-schema.
---
# Задача: оптимизация БД (database)
Оптимизируй работу с БД (см. `$database`).
1. **Измерь**: план запроса `EXPLAIN (ANALYZE, BUFFERS)` (Postgres; `ANALYZE` выполняет оператор — для DML оборачивай в транзакцию с `ROLLBACK`) / `explain` и отлов **COLLSCAN** (MongoDB).
2. Найди починку: недостающие/неоптимальные индексы (составные — порядок колонок, частичные, покрывающие; TTL-индексы — только в Mongo, у Postgres их нет), устранение **N+1** (джойн/`IN`/`$lookup`/dataloader), пагинация **keyset/seek** вместо `OFFSET`, лишние/дублирующие индексы (стоимость записи), горячие ключи Redis и стратегия кэша.
3. **Покажи план изменений**: DDL индекса / правка запроса + оценка влияния — блокировки при создании (`CONCURRENTLY`?), время, обратимость (`DROP INDEX`), стоимость на запись.
4. **Дождись ЯВНОГО подтверждения человека** перед любой мутацией в БД — слова вроде «да, применяй»; молчание или «ок» на другой вопрос — НЕ подтверждение. Правки только кода приложения подтверждения БД не требуют, но прогоняй тесты.
5. Применяй, затем **докажи эффект**: повторный `EXPLAIN`/замер «до → после», размер индекса (`pg_relation_size`), отсутствие COLLSCAN — покажи вывод.
Не выводи PII/секреты. Опирайся на `$postgresql`, `$mongodb`, `$redis`, `$database`.