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

Анализировал ли план запросов

Да, анализировал план запросов (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).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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