問題一覧に戻る
中級高度なデータベース
問題43: JOIN操作 - joins/includes
Railsのjoinsとincludesの違いを学習します。joinsはフィルタリングやクエリのためにSQL JOINを実行し、includesはN+1クエリを防ぐために関連をeager loadします。それぞれをいつ使うかを理解することは、効率的なデータベースクエリを書くために重要です。
# 著者名で投稿をフィルター
Post.(:author).where(users: { name: 'Alice' })
# コメントをeager load
Post.(:comments).limit(10)
# joinsとwhereを組み合わせ
Post.joins(:).where(categories: { name: 'Ruby' })
# 複数の関連をインクルード
Post.includes(:author, :)