Как использовать EXPLAIN в Go для анализа запросов?

Ответ

Выполняют EXPLAIN (ANALYZE) SELECT ... и читают результат как обычный запрос. В коде можно включить логирование запросов (pgx с логгером) или выполнять EXPLAIN вручную при отладке. План показывает тип доступа (seq scan, index scan), оценку строк, стоимость. Важно для поиска полных сканов и отсутствующих индексов.

rows, _ := db.QueryContext(ctx, "EXPLAIN ANALYZE SELECT * FROM users WHERE email = $1", email)
// разбор вывода плана
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.