1

次のようなクエリがあるとします

SELECT
    t1.c1,
    t2.c2,
    ... more fields from joins ...
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
... more joins ...
GROUP BY t1.field
WHERE ...

そして、パフォーマンスの問題があり、、などの列にインデックスを定義するなど、このタイプのクエリの一般的な最適化をすべてカバーしたと思いますが、それでも本当に遅いです。ONGROUP BYWHERE

4

1 に答える 1

1

すべての結合がビューではなく実際のテーブルに対するものであることを確認してください!

これはむしろ明白なことを述べていることは知っていますが、結合の1つがビューに対するものであることを忘れていたため、しばらくの間困惑していました。

これは、自分で答えを見つける前に尋ねることができなかった質問ですが、GROUP BY クエリの最適化に関する他の投稿では言及されていないため、同じ問題を抱えている他の人を助けるために投稿したかったのです。 JOINで。これが SO で受け入れられるかどうかはわかりませんが、この投稿で受け入れられた回答にも追加したので、管理者がこの投稿を削除したい場合でも気分を害することはありません。

于 2012-06-09T12:25:37.003 に答える