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

Оптимизировал ли запросы

Да, оптимизация запросов — важная часть работы с базами данных. Основные подходы:

  1. Индексы — создание правильных индексов для часто используемых полей в WHERE, JOIN, ORDER BY.
    python
    # Django пример
    class User(models.Model):
        username = models.CharField(max_length=100, db_index=True)  # Добавляем индекс
  1. SELECT только нужные поля — избегаем SELECT *.

    python
    # Плохо
    users = User.objects.all()
    
    # Лучше
    users = User.objects.only('id', 'username')
  2. prefetch_related и select_related в ORM для уменьшения N+1 проблемы.

  3. Кэширование результатов тяжелых запросов.

  4. Анализ запросов через EXPLAIN для понимания плана выполнения.

  5. Батчинг — объединение множества мелких запросов в один крупный.

Для сложных случаев иногда лучше использовать сырые SQL-запросы вместо ORM.

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

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

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

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