非常に簡単なクエリを使用して Django アプリを構築しています。ローカルで実行すると、パフォーマンスがかなり悪くなります。DebugToolbar4119.00 ms (6 queries)
は、明らかにかなり悪いと報告します。最も長く実行されているクエリは次のとおりです。
ジャンゴviews.py
コード:
reviews = list(Review.objects.select_related('band', 'record', 'label').order_by('-date_posted')[:12])
出力された SQL:
SELECT * FROM `reviews`
INNER JOIN `bands` ON (`reviews`.`band_id` = `bands`.`id`)
INNER JOIN `records` ON (`reviews`.`record_id` = `records`.`id`)
INNER JOIN `label` ON (`reviews`.`label_id` = `label`.`id`)
ORDER BY `reviews`.`date_posted` DESC
LIMIT 12
明らかにいくつかの結合がありますが、私のテーブルは適切にインデックス化されています。phpMyAdmin でそのクエリを実行すると が表示されますQuery took 0.0241 sec
が、DebugToolbar では が表示されます1838.00 ms
。他の 5 つのクエリも同様に低速ですが、直接クエリを実行すると正常に実行されます。
Windows で Django を実行し、MySQL (WAMP サーバー) を使用しています。Django 自身のクエリが非常に遅くなる理由を誰か思いつきますか?