我有一个返回超过 50k 条记录的查询结果。我愿意:
@array.collect {|x| x.field_name1}.uniq, @array.collect {|x| x.field_name2}.uniq
..为 View 中的多个选择创建过滤器。 这需要相当长的时间。有什么办法可以在一个循环中收集所有唯一元素以提高性能? 谢谢
最佳答案
用于选择唯一列值的纯 Ruby/Rails 方法(没有硬编码 SQL)是:
uniq_fields1 = Model.uniq.pluck(:field_1)
# issues: SELECT DISTINCT field_1 FROM "models"
关于ruby-on-rails - 从 Rails 中的数组中收集唯一的事件记录对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11451584/