Admin を使用してモデルのエントリを一覧表示するたびに、Admin はテーブル内の行をカウントします。さらに悪いことに、クエリをフィルタリングしているときでもそうしているようです。
たとえば、ID が 123、456、789 のモデルのみを表示したい場合は、次のようにします。
/admin/myapp/mymodel/?id__in=123,456,789
しかし、(特に)実行されたクエリは次のとおりです。
SELECT COUNT(*) FROM `myapp_mymodel` WHERE `myapp_mymodel`.`id` IN (123, 456, 789) # okay
SELECT COUNT(*) FROM `myapp_mymodel` # why???
これはmysql + innodbを殺しています。問題はこのチケットで部分的に認識されているようですが、想定されていない場合でもすべての行をカウントするため、私の問題はより具体的なようです。
そのグローバル行数を無効にする方法はありますか?
注: 私は django 1.2.7 を使用しています。