(レール4を使用)
サブスクリプションEvent
モデルがあります。has_many
イベントのリストに、サブスクリプションの数を表示します。私が持っているすべてのイベントに対して私の見解でこれを行うには:
event.subscriptions.count
ただし、イベントごとにsubscriptions
カウントを取得するために後続のクエリが実行されるため、これによりパフォーマンス ヒットが発生します。
これを修正するために、私はすべてのサブスクリプションを取得することを考えました。
subscription_count = Event.all.map { |e| {e.id => e.subscriptions.count} }
次に、すべてのイベントに対してクエリを実行する代わりにevent id
、subscription_count
ハッシュで を検索するだけです。ただし、これは明らかにすべてのクエリを個別に実行します。一度にジョブを実行するために集計クエリを実行する方法はありますか?
ありがとう!