Вопрос проверяет знание методов и инструментов для выявления и анализа медленно выполняющихся SQL-запросов в базе данных.
Медленные запросы — это SQL-запросы, которые выполняются дольше ожидаемого времени и могут существенно замедлять работу приложения. Для их обнаружения существует несколько проверенных подходов, которые помогают разработчикам и администраторам баз данных оптимизировать производительность.
SHOW PROFILE показывает детальное время выполнения каждого этапа запроса. В PostgreSQL можно использовать расширение pg_stat_statements для сбора статистики по всем запросам.EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123 AND status = 'pending';Этот запрос покажет, использует ли база данных индекс по полю customer_id, сколько строк было просканировано и сколько времени заняло выполнение. Если видно полное сканирование таблицы (Seq Scan), это указывает на отсутствие подходящего индекса.
Применение комбинации логов медленных запросов и анализа планов выполнения с помощью EXPLAIN является стандартной практикой для выявления и устранения проблем производительности. Это особенно полезно в высоконагруженных системах, где даже один медленный запрос может привести к задержкам для всех пользователей.