私の目標は、特定のコレクションのモデルオブジェクトごとに投票をエクスポートすることです。この例では.allを使用しますが、実際には、大きなセットを生成する.whereになります。私が懸念している次のクエリがあります。
Model.all.each{|x|puts x.votes.count}.explain
(0.4ms) SELECT COUNT(*) FROM `votes` WHERE `votes`.`entry_id` = 1
0
(0.3ms) SELECT COUNT(*) FROM `votes` WHERE `votes`.`entry_id` = 2
0
(0.4ms) SELECT COUNT(*) FROM `votes` WHERE `votes`.`entry_id` = 3
1
(0.3ms) SELECT COUNT(*) FROM `votes` WHERE `votes`.`entry_id` = 4
0
(0.2ms) SELECT COUNT(*) FROM `votes` WHERE `votes`.`entry_id` = 5
0
個人の数は非常に速いですが、特に数千または数百万のコレクションがある場合は、Allに電話するのは気が進まないです。レコードをバッチオポレーションとしてカウントする方法はありますか?