Rails 2では、Webページのパフォーマンスをゆっくりと最適化しようとしています。1つのモデルから別のモデルへのRails 2呼び出しが遅い
モデル内のステートメントの実行時間を計時し、データベースアクセスがまったくないように見えるにもかかわらず、あるモデル内から別のモデルへの呼び出しに驚くほどの時間がかかることがわかりました。
具体的には、遅いモデルは部門で、Department.expendituresを計算しています。支出方法では四半期が終了し、その情報が異なるモデルにあるかどうかを知る必要があります。
Department.expendituresがQuarter.closedを初めて呼び出すと、データベースアクセスがあり、私はそれを受け入れることができます。しかし、モデルメソッドの中でそれを記憶に残すために何かをやったので、Quarter.closedへの将来の呼び出し?データベースアクセスはありません。 Quarter.closedのコードは?現在は約4マイクロ秒で動作しますが、Quarter.closedを呼び出すだけですか?費用は400マイクロ秒で、何百もの部門があり、それが合計されます。
グローバル変数の中にQuarter.closedの値をキャッシュすることはできましたが、それは毛がかったようです。誰が何が起こっているか知っていますか、より良い方法についての示唆を持っていますか?