Con la crescita di un'applicazione Django, il database è solitamente il primo e più significativo collo di bottiglia. Scalarlo implica ottimizzazione delle query, indicizzazione, gestione delle connessioni, repliche di lettura, caching e infine cambiamenti architetturali — affrontare il database è il lavoro di scaling a più alto impatto per la maggior parte delle app Django.
1. Ottimizza prima le query (i guadagni più grandi e meno costosi)
Book.objects.select_related().prefetch_related()
Article.objects.only(, )
Article.objects.values()
django.db.models Count, Sum
Author.objects.annotate(book_count=Count())
