Встречается на собеседованиях • сегодня

Как понять, какой SQL запрос тормозит

Для выявления медленных SQL-запросов можно использовать несколько подходов:

  1. Логирование медленных запросов
    В Django можно настроить settings.LOGGING для логирования запросов, превышающих определенное время:
    python
    LOGGING = {
        'loggers': {
            'django.db.backends': {
                'level': 'DEBUG',
                'handlers': ['console'],
                'threshold': 0.5  # логировать запросы > 0.5 сек
            }
        }
    }
  1. Профилирование с connection.queries
    В режиме DEBUG можно получить список всех запросов:

    python
    from django.db import connection
    print(connection.queries)  # список выполненных запросов и их время
  2. Инструменты мониторинга БД

    • EXPLAIN ANALYZE в PostgreSQL
    • Встроенные мониторы производительности (pgBadger, MySQL Workbench)
    • ORM-специфичные инструменты (Django Debug Toolbar)
  3. Профилирование кода
    Используйте cProfile или line_profiler для выявления узких мест.

Ключевые метрики: время выполнения, количество вызовов, нагрузка на CPU/IO. Оптимизируйте часто вызываемые и самые медленные запросы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы