n+1問題?
http://dev.ariel-networks.com/articles/workshop/rails-activerecord/
1:Nの関係のtableが持つオブジェクトを列挙しようとしたとき、ナイーブに書くと1+N回のsqlが実行されてしまうと言う問題らしい。
eager loadingなどで解決するらしい。
model.search_query(...) # modelのobjectが返ってくる
このようにDB検索の始点となるオブジェクト(のモデル)と、検索結果のオブジェクトが等しい関係に無いので。
AがBを持ち、Bの内容全てを列挙したいような場合など複数のモデルのオブジェクトを期待している時に、不用意にsqlが実行されてしまう。
for a in A.search_query(): a.b.name #ここで対応するBを検索するsqlが実行
django等では、select_relatedで頑張る。