遍历数据库中的所有记录时,我们首先想到的是Model.all.each.但是,当数据量很大的时候(数万?),这就不怎么合适了,因为Model.all.each会一次性加载所有记录,并将其实例化成 Model 对象,这显然会增加内存负担,甚至耗尽内存. 对于ActiveRecord 而言,有个find_each专门解决此类问题.find_each底层依赖于find_in_batches,会分批加载记录,默认每批为1000. 对Mongoid而言,话说可以直接用Person.all.each,它会自…