Встречается на 1% собеседований по Python
Как понять что запросы попадает в индекс
В PostgreSQL можно проверить, используется ли индекс для запроса с помощью EXPLAIN ANALYZE. Если в выводе видно Index Scan или Bitmap Index Scan, значит индекс используется. Пример:
sql
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';Если создан индекс на поле email, в выводе будет что-то вроде:
text
Index Scan using idx_users_email on users (cost=0.42..8.44 rows=1 width=68)В Django ORM можно проверить запросы через connection.queries:
python
from django.db import connection
User.objects.filter(email='test@example.com').first()
print(connection.queries[-1]['sql'])Также полезные инструменты:
pg_stat_all_indexes- статистика использования индексовdjango-debug-toolbarдля анализа запросов в веб-интерфейсе
Если индекс не используется, возможные причины:
- Низкая селективность (мало уникальных значений)
- Несоответствие типов данных
- Слишком маленькая таблица (оптимизатор выбирает seq scan)

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