类似这样的命令,目前我正在运行的东西:Rails的:与组计算比例
Person.sum(:cholesterol, :group => :age)
这似乎工作的伟大,当我有一个小数量的记录。但是,当我试图在表格中调用这个记录或更多的记录时,需要几分钟的时间才能运行。但是,SQL查询:
SELECT sum(`people`.cholesterol) AS sum_cholesterol, age AS age
FROM `people`
GROUP BY age
在同一千数量的记录上花费大约0.02秒。一旦获得了数据,我不需要做太多的工作而不是展示它。有没有更有效的方法来做到这一点?我知道我可以手动从模型和控制器进行SQL查询,我不知道这是否是一个可行的选项,因为我没有找到明确的方法来处理查询后的结果。
那么,如果这不是那个花费那么多时间的SQL查询,它肯定是别的。看看你的日志,看看是否没有其他的sql查询可能太长(或太多的sql查询)。 – 2009-10-15 11:49:41
谢谢,这是花时间的查询。当我在mysql环境下运行命令时,它的速度几乎是通过rails调用时的1000倍。这种方法的轨道是否真的很慢?我只有这个方法的问题。 – Evan 2009-10-15 12:37:37