Встречается на собеседованиях • сегодня
Как оптимизировал запросы в базе данных
Для оптимизации запросов в БД на Python я использовал следующие подходы:
- Индексация – создание индексов для часто используемых полей в условиях WHERE и JOIN:
python
# Django example
class User(models.Model):
username = models.CharField(max_length=100, db_index=True)
email = models.CharField(max_length=100, unique=True)- Выборка только нужных полей вместо SELECT *:
python
# Неоптимально
users = User.objects.all()
# Оптимально
users = User.objects.only('id', 'username')- Пакетные операции для массовых вставок/обновлений:
python
# Bulk create
User.objects.bulk_create([User(...), User(...)])-
Использование select_related/prefetch_related для уменьшения количества запросов при работе с ForeignKey/ManyToMany.
-
Кэширование частых запросов с помощью Redis/Memcached.
-
Анализ EXPLAIN для понимания плана выполнения запроса и поиска узких мест.
Для сложных запросов иногда лучше использовать сырые SQL с оптимальными JOIN вместо нескольких ORM-запросов.

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