Djangoアプリケーションが成長するにつれて、データベースは通常最初で最も重大なボトルネックになります。スケーリングにはクエリ最適化、インデックス作成、接続管理、読み取りレプリカ、キャッシング、そして最終的にはアーキテクチャ変更が含まれます。ほとんどのDjangoアプリケーションにとって、データベースに対処することが最も高いレバレッジを持つスケーリング作業です。
1. まずクエリを最適化する(最大の安価な成果)
Book.objects.select_related().prefetch_related()
Article.objects.only(, )
Article.objects.values()
django.db.models Count, Sum
Author.objects.annotate(book_count=Count())
