Встречается на собеседованиях • сегодня
Как находить нагруженные SQL запросы в БД
Для поиска нагруженных SQL-запросов можно использовать несколько подходов:
- Логирование медленных запросов
В PostgreSQL можно включить логирование запросов, выполняющихся дольше заданного времени:
sql
-- postgresql.conf
log_min_duration_statement = 1000 # логировать запросы >1 сек- EXPLAIN ANALYZE
Анализ плана выполнения запроса:
sql
EXPLAIN ANALYZE SELECT * FROM large_table WHERE condition;- Системные представления
В PostgreSQL используйтеpg_stat_statements:
sql
SELECT query, total_time, calls
FROM pg_stat_statements
ORDER BY total_time DESC
LIMIT 10;- ORM-специфичные инструменты
Для Django можно включить SQL-логирование:
python
# settings.py
LOGGING['loggers']['django.db.backends'] = {
'level': 'DEBUG',
'handlers': ['console'],
}- Профайлеры БД
Используйте инструменты вроде pgBadger (PostgreSQL), MySQL Enterprise Monitor или Oracle AWR.
Ключевые метрики для анализа: время выполнения, количество вызовов, потребление CPU, блокировки.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы