> Какая команда помогает понять, что происходит при запросе к базе данных для поиска узких мест по производительности (Go)

Уровень: senior · Роль: backend · Категория: Технические вопросы

Компании: Wildberries

Стек: Go

> Пример ответа

Для анализа производительности запросов к базе данных в Go используется команда EXPLAIN ANALYZE (в PostgreSQL) или её аналоги в других СУБД. Она показывает план выполнения запроса и фактические затраты времени на каждом этапе. В Go-приложении это можно интегрировать через драйвер базы данных, например, с помощью database/sql:

GO
rows, err := db.Query("EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30")

Вывод содержит информацию о сканировании таблиц, использовании индексов, количестве строк и времени выполнения. Это помогает выявить узкие места, такие как полное сканирование таблицы (Seq Scan) вместо использования индекса, или неэффективные соединения. Для мониторинга в production также полезны инструменты вроде pg_stat_statements (PostgreSQL) или slow_query_log (MySQL), но EXPLAIN ANALYZE - первый шаг для локальной отладки.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью