0
表中有4万条记录,我想分到4组。 第一种方式:使用mysql的两个分组选择方法,哪个更快,哪个更好?
def prepare_params(div, mod)
results = []
Account.find_each do |account|
next unless account.id % div == mod
results << [account.id, account.name]
end
results
end
secord方式:
def prepare_params(block, block_size)
results = Account.limit(block_size).offset(block_size * (block - 1)).pluck(:id, :name)
end
这两使用MySQL的分组选择的方法,这是更快,哪个更好?
['require'benchmark''](http://ruby-doc.org/stdlib-2.2.0/libdoc/benchmark/rdoc/Benchmark.html)。顺便说一句,第二个肯定更好,因为它不会在红宝石内部迭代40K记录。 – mudasobwa