Missing database indexes cause 30+ second query times in production
warningperformanceUpdated Aug 23, 2025(via Exa)
Technologies:
How to detect:
Django queries execute in milliseconds locally but take 30+ seconds in production. Root cause is missing database indexes on foreign keys or frequently filtered fields, causing full table scans (Seq Scan) on large production datasets.
Recommended action:
Run `python manage.py dbshell` then `EXPLAIN ANALYZE` on slow queries. Look for 'Seq Scan' indicating table scans. Add indexes to model Meta class: `class Meta: indexes = [models.Index(fields=['field_name'])]`. Run makemigrations and migrate to apply indexes.