小编sgk*_*sgk的帖子

如何将预加载(包含)与 find_in_batches Rails 一起使用

我的用户表中有大量行,我需要应用急切加载来加载用户的评论。

User.includes(:comments)

由于用户集太大,因此在添加急切加载时会消耗大量内存。

因此,在经历了几个解决方案之后,我以下面的方式结束

User.select(:id).find_in_batches do |user|
  users = User.where(id: user_id).includes(:comments)
end
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来使用 find_in_batches 执行急切加载?

activerecord ruby-on-rails eager-loading

3
推荐指数
1
解决办法
1456
查看次数