Встречается на собеседованиях • сегодня
Анализировал ли план запросов
Да, анализировал план запросов (EXPLAIN) для оптимизации SQL-запросов в Django. Это помогает понять, как база данных выполняет запрос, выявить узкие места (например, отсутствие индексов, full table scan) и оптимизировать производительность.
Пример в Django:
python
from django.db import connection
Получаем SQL и план выполнения
query = MyModel.objects.filter(some_field='value').query
sql = query.sql_with_params()[0]
with connection.cursor() as cursor:
cursor.execute(f"EXPLAIN ANALYZE {sql}")
plan = cursor.fetchall()
print("\n".join(row[0] for row in plan))
text
Ключевые моменты:
- **Seq Scan** (полное сканирование таблицы) — тревожный сигнал, нужен индекс.
- **Index Scan** — хорошо, используется индекс.
- **Nested Loop** — может быть медленным для больших таблиц.
- **Cost** — чем выше, тем дороже запрос.
Для сложных запросов также использую `django-debug-toolbar` или `pgMustard` (для PostgreSQL).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы