“Почему мой Postgres-запрос медленный? Строка подключения в ~/.pg-creds.”
Что делает MoClaw
- 1 Читает ~/.pg-creds (сначала запрашивает подтверждение, поскольку файл содержит учётные данные).
- 2 Подключается через psql и запускает EXPLAIN ANALYZE для запроса, который вы отметили.
- 3 Замечает последовательное сканирование 4M строк, где помог бы индекс по (user_id, created_at).
- 4 Генерирует выражение CREATE INDEX и выражение отката, готовые для вставки.
Отвечает: «Нашёл — планировщик делает последовательное сканирование, потому что нет индекса по (user_id, created_at). Добавление составного индекса снижает стоимость с 84 000 до 12. Вот выражение CREATE INDEX и откат, если понадобится.» Вы применяете его; следующий запрос выполняется за 14 мс.