私は1つの複雑な結合に対して複数のクエリに対して同様の質問を見ました。この場合、答えは常に「それは依存しています」ということですが、方向を入力できるかどうかは疑問でした。うまくいけば説明するのはあまり複雑ではないでしょう。複数の結合とキャッシュされた個別のクエリ
私は約3-4の異なるテーブルから情報をプルする必要があるページを表示しています。私たちにクラブに所属できる人がいて、そのクラブには多くの出来事があるとしましょう。
私はそれらを3〜4の別々のテーブルに持っていますが、私のイベントテーブルにはかなりの数の列があります確かに正規化はされていませんが、私はそれをそのままにして、最大で3〜5回のジョインを行う必要はありません。今は小さなデータセットでうまくいくようですが、それらを3〜4個の個別のクエリに分割して、それらのうちのいくつかの結果をキャッシュする方が速くなるかどうか疑問に思っていませんか?イベントテーブルはかなり頻繁に更新されるため、無効化されていることがわかりますが、組織テーブルとユーザーテーブルはそうではありませんので、後者のソリューションによって恩恵を受けていることがわかります。だからどちらがお勧めしますか?
また、私のイベントテーブルには大きな数の列があり、その中には頻繁に更新されるデータを格納するものや、シリアル化されたキー/値テンプレートデータを格納する大きなテキスト列があります。それを別のテーブルに分割するのが賢明でしょうか?私は「一般的な」データを持っていますし、頻繁に更新されるイベントデータがありますか?助けてくれてありがとう。
ボトルネックがどこにあるのか一般的な感じを得るために 'EXPLAIN'を使ってみましたか? – stillstanding