概要
大量のレコードを扱うテーブルを表示するときに、クエリの発行の仕方が悪くてクエリの量がとんでもなく多くなってしまったので、そのときの解決方法を書いておきます。
本題
上記のようなテーブルをデータベースから取得して表示する場合、
A~Eそれぞれに02などの値が紐づくのであれば、
行ごとに値をとってこようとするとA~E,F,G,...と増えていくにつれて発行するクエリはそれだけ増えていきます。
そこで、group_by
などを使い、aa,bb,cc,dd,ee,ffの列ごとにクエリを発行するようにすれば、
レコード自体が増えても影響は少なくできます。
まとめ
こういった問題はn+1問題とも呼ばれているようですが、自分は知りませんでした。
駆け出しのうちはそもそも知らないことが多いので、実装方法はときどき人に聞いた方がよさそうです。