Rails中find_each方法

来源:互联网 发布:php 长连接 编辑:程序博客网 时间:2024/06/12 01:14

使用 find_each 来迭代一系列 ActiveRecord 对象。用循环来处理数据库中的记录集(如 all 方法)是非常低效率的,因为循环试图一次性得到所有对象。而批处理find_each方法允许一批批地处理记录,默认为1000条数据,因此需要占用的内存大幅减少。

# 差的编码习惯Person.all.each do |person|  person.do_awesome_stuffendPerson.where('age > 21').each do |person|  person.party_all_night!end# 好的编码习惯Person.find_each do |person|  person.do_awesome_stuffendPerson.where('age > 21').find_each do |person|  person.party_all_night!end
原创粉丝点击