Встречается на 3% собеседований по Python
Как можно оптимизировать 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
интервью вопросы и ответы