2011-12-10から1日間の記事一覧

特異クラスの使い方

前の記事の最後に出したコードで特異クラスを使ってます。 def build_book books = Book.joins('LEFT JOIN reviews ON books.id = reviews.book_id'). select('books.id bid, reviews.id rid, reviews.book_id, reviews.body') res = {} books.each { |rec| …

Active Record で N+1 問題

最近会社でHibernateのN+1問題事例を調べてたんですが、ActiveRecordでも当然のように起こりますね。BOOKSテーブルが、1対NでREVIEWSテーブルと関連を持っています。(BOOKSが1、REVEWSがN)以下のコードでは、BOOKSテーブルを全件検索して、それに関連するR…