PHP/SQLを学習中です。今までORMを使っていましたが、少し不便なところが出始めたので、素のSQLも使い始めました。
質問なのですが、サブクエリでまとめるのとクエリを何度も投げるのはどちらがよいのですか?
PHPフレームワークとしてFuelPHPを使っているのですが、こちらのフレームワークのORMが生成したクエリを見ると、サブクエリを使ってひとつのクエリにまとめているようでした。しかし、そうしたクエリで取得される場合は、多くの場合重複が多く、無駄が多く見えてしまいます。
たとえば、ある特定のタグ(Tag)の情報と、そのタグに紐づいた投稿(Post)を全て取得したとき、
タグの情報は、取得された投稿内ですべて共通なのにもかかわらず、全ての結果レコードに重複して含まれてしまいます。
取得にかかるコストは、もしかしたら重複していようがなかろうが変わらないのかもしれませんが、なんとなく変な感じがしますし、メモリ効率も気になりますし、ORMを使わなかった場合、読みにくいコードになりそうな気がします。実際のところ、どうなのでしょうか?
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。