0

Debian 安定版 (6.0.7) の標​​準リポジトリから、Ruby on Rails 3.0.3、ruby 1.8.7、PostgreSQL 9.1.9 を使用しています。1 か月分のデータを取得し、「結合」を使用して複数のテーブルを結合し、そのすべてのデータを解析してレポートを作成しています。データ型は、文字列、整数、および浮動小数です。count() を使用していくつかのフィールドが生成されるように、SQL 要求を集約しています。コントローラーでこのすべてのデータを解析しているときに、すべての数値フィールドに対して 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