À mesure qu'une application Django grandit, la base de données est généralement le premier et le goulot d'étranglement le plus important. L'optimisation de celle-ci implique l'optimisation des requêtes, l'indexation, la gestion des connexions, les répliques de lecture, la mise en cache et, finalement, des changements architecturaux — l'adressage de la base de données est le travail d'évolution avec le plus grand effet de levier pour la plupart des applications Django.
1. Optimiser les requêtes d'abord (les gains les plus importants et les moins chers)
Book.objects.select_related().prefetch_related()
Article.objects.only(, )
Article.objects.values()
django.db.models Count, Sum
Author.objects.annotate(book_count=Count())
