0

私のモデルには、次のような多くのメソッドがあります。

def calc
    self.c = self.child.a * self.child.b
end

@object.calc を使用して簡単に結果を取得し、他の計算で使用できます。

私の質問は、それを行うための最良の方法は何ですか。これを保持するか、データベースに保存して、子の更新ごとにアップロードします。計算でより複雑な関数 (平方根など) を使用する場合、または計算の計算がある場合は、それを保存するか、データベース リクエストで計算する方が速いかもしれません。

4

1 に答える 1

1

何のために必要かによります。その場で計算するよりも単純な使用法である場合、必要なプログラマーの時間を短縮するために、許容できる費用になる可能性があります (本当の利点です!)。

何らかのフィルタリングや順序付けを行いたい場合は、おそらくそれを db 列に格納し、何らかのbefore_saveフックを使用して値を更新することをお勧めします。

行列の乗算のような非常にコストのかかる操作でない場合は、どの方法を使用してもパフォーマンスの違いに気付かない可能性があります。

于 2012-11-21T07:59:21.873 に答える