【发布时间】:2021-03-01 08:23:38
【问题描述】:
我在 users 表中有大量行,我需要对其应用预先加载来加载用户的 cmets。
User.includes(:comments)
由于用户集太大,在添加急切加载时会消耗大量内存。
所以在经历了几个解决方案之后,我以下面的方式结束了
User.select(:id).find_in_batches do |user|
users = User.where(id: user_id).includes(:comments)
end
有没有更好的方法来使用 find_in_batches 执行预加载?
【问题讨论】:
标签: ruby-on-rails activerecord eager-loading