エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ActiveRecord:preload、Includes、eager_load、joinsの挙動の違い
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ActiveRecord:preload、Includes、eager_load、joinsの挙動の違い
ActiveRecordでN+1クエリを解消するためにpreloadやincludesやeager_loadを使うが、それらの違いについ... ActiveRecordでN+1クエリを解消するためにpreloadやincludesやeager_loadを使うが、それらの違いについてあまり理解できていなかったのでまとめてみました。 それぞれ、大きく違いがあるのは下記3点かなと思っています。 結合でデータを取得するか、クエリを2つ発行して取得するか? 結合先のテーブルで絞り込むことはできるか? 結合先のテーブルの情報を取得することができるか? 以下、詳しく書いていきます! preload 結合でデータを取得するか、クエリを2つ発行して取得するか? →クエリを2つ発行して取得する 結合先のテーブルで絞り込むことはできるか? →できない 結合先のテーブルの情報を取得することができるか? →できない 発行されるSQL User.preload(:posts).to_a SELECT "users".* FROM "users" SELECT