传统的 Rails 中排序 Model.sort('xxxx'), 应该是先取出数据,然后在内存中进行排序的吧。但是如果一个表中记录条数太多,比如 100 万条,这样排序的话,会对内存造成很大消耗撒。不知各位前辈有高招没?
不是可以建索引嘛
索引
为什么要先取出再排序?数据库自己的排序速度远远超过你用 Ruby 代码写的,把专业的事情交给最专业的模块。
果断使用order
order
数据存放在 SQL 数据库中的话,ORM 有排序和分批取出,order,offset,limit 就是用来控制这些东西的。
你采用的是巨慢的一种方式... 果断应该把这个工作交给数据库啊
你用 C/C++ 写的数据库去计算多好呀,这么沉重的 CPU 计算交给 Ruby 多划不来呀。
楼主是不是没有表达清楚,这么简单的问题应该不至于吧。