Conforme uma aplicação Django cresce, o banco de dados é geralmente o primeiro e mais significativo gargalo. Dimensioná-lo envolve otimização de queries, indexação, gerenciamento de conexões, read replicas, caching e, eventualmente, mudanças arquiteturais — resolver o banco de dados é o trabalho de dimensionamento com maior alavancagem para a maioria das aplicações Django.
1. Otimize queries primeiro (maiores e mais baratos ganhos)
Book.objects.select_related().prefetch_related()
Article.objects.only(, )
Article.objects.values()
django.db.models Count, Sum
Author.objects.annotate(book_count=Count())
