[前][次][番号順一覧][スレッド一覧]

rails:3642

From: dezawa <dezawa@a...>
Date: Thu, 13 Oct 2011 13:04:05 +0900
Subject: [rails:3642] has_and_belongs_to_many で find時に:includeすると二重に読む?

出沢@[rails:3635] selectが多すぎて開くのが重い、何とかならないか
です。

この相談で
> 編集画面で27秒(内データのダウンロードで7秒、描画20秒)
としていたのですが、実は10秒であることが分かりました。

スピードアップに向けて色々やっているとき
 Schedule.find( params[:id]) #:include => :plans )

と、:include がコメントアウトされているのに気づき
 Schedule.find( params[:id] ,:include => { :plans => :person})

と直したのですが、すると plan が二重に読まれていたのです。

 ./script/console で試してみると
>> Schedule.find(2,:include=>:plans).plans.size
=> 580
>> Schedule.find(2).plans.size
=> 290

元の質問で
> Schedule は has_many で150〜200ぐらいの Plan を持っています。

と書いていましたが、正しくは habtm でした。(月をまたぐplanもあるので)
habtmで:includeすると二度読みする、なんてあるのでしょうか。

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]