Встречается на собеседованиях • сегодня
Как можно оптимизировать SQL запрос
Оптимизация SQL запросов в Python включает несколько ключевых подходов:
- Индексы – добавьте индексы на часто используемые столбцы в условиях WHERE и JOIN:
python
# Пример создания индекса через raw SQL в Django
from django.db import connection
with connection.cursor() as cursor:
cursor.execute("CREATE INDEX idx_name ON users(name)")- Выборка только нужных полей – избегайте
SELECT *:
python
# Django ORM
User.objects.only('id', 'name').filter(active=True)- JOIN вместо подзапросов – подзапросы часто менее эффективны:
python
# Плохо
User.objects.filter(id__in=Order.objects.filter(price__gt=100).values('user_id'))
# Лучше
User.objects.select_related('orders').filter(orders__price__gt=100)-
Пакетная обработка – используйте
bulk_create/updateдля массовых операций. -
EXPLAIN – анализируйте план выполнения запроса:
python
with connection.cursor() as cursor:
cursor.execute("EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30")
print(cursor.fetchall())-
Кэширование – кэшируйте результаты частых запросов.
-
Лимиты – добавляйте
LIMITк запросам, если нужна только часть данных.

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