Как понять что запросы попадает в индекс

Python Middle Без компании
Как понять что запросы попадает в индекс
Ответы
В PostgreSQL можно проверить, используется ли индекс для запроса с помощью `EXPLAIN ANALYZE`. Если в выводе видно `Index Scan` или `Bitmap Index Scan`, значит индекс используется. Пример: ``` EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com'; ``` Если создан индекс на поле `email`, в выводе будет что-то вроде: ``` Index Scan using idx_users_email on users (cost=0.42..8.44 rows=1 width=68) ``` В Django ORM можно проверить запросы через `connection.queries`: ``` 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)