0

我使用 Ruby on Rails 3.0.3、ruby 1.8.7、PostgreSQL 9.1.9 来自我的 Debian 稳定版(6.0.7)的标准存储库。我通过获取一个月的数据来创建报告,使用“joins”连接多个表,然后解析所有这些数据。数据类型为字符串、整数和浮点数。我正在聚合 SQL 请求,因此使用 count() 生成了一些字段。当我在控制器中解析所有这些数据时,我需要调用 to_i 和 to_f 到所有数字字段。生成报告需要几分钟时间。SQL 部分只需几秒钟,其余的都是解析数据。我注意到最大的时间消耗是代码的一部分,我将每个数字字段从字符串转换为适当的数字类型(使用 to_i 或 to_f)。有什么方法可以保留值的原始数字类型?

我已经阅读了 ruby​​ 1.9 对 1.8 的改进,所以我去部署了 ruby​​ 1.9.3p194(2012-04-20 修订版 35410),以查看解析是否会变得更快,但遗憾的是,它没有。

我知道对于计算值是否不可能这样做,例如在使用 SQL count() 时,但也许至少对于静态值是可能的?

以下是相关代码部分: http: //pastebin.com/index/tzWsQZtz

任何建议将不胜感激。

4

0 回答 0