1

Ruby 2 と Rails 4 を実行する Ruby on Rails アプリケーションがあります。このアプリケーションの主な目的は、他のデータベースからデータをインポートして表示することです。これは非常にうまく機能します。これを達成するために、インポートされたテーブルごとに MVC とルートを作成します。しかし、ちょっとしたパフォーマンスの問題に遭遇したので、それを最適化する方法があるかどうか知りたいです。

例として、5,000 個のテーブルをアプリケーションにインポートします。テーブルごとに、ルート、モデル、コントローラー、ビューを定義する必要があります。テーブルからすべてのオブジェクトまたは選択したオブジェクトを表示、並べ替え、検索、およびエクスポートする必要があります。

現在の私のワークフローは、Sidekiq をバックグラウンドで実行して、すべてのテーブルの MVC をすべてスキャフォールディングし、それらの 5.000 ルートを含むルート ファイル (そのうちのいくつかを持っています) を作成することです。

主な問題は、25,000 個のファイルと 20,000 行のコードを含むルート ファイルがあることは、アプリケーションをシンプルかつ高速に保つのにあまり役に立たないことです。

私が思いついた別の方法は、各テーブルに1つの動的MVCとコントローラーメソッドを用意し、次の方法でデータを取得することでした: ActiveRecord::Base.connection

これにより、ファイル、コントローラー、モデルが少なくなり、すべてが少しスリムになりますが、それでも多くのルートとビューが必要です。また、現在行っているように、検索、並べ替え、およびエクスポートを行うための解決策が見つかりませんでした。

ですから、このような大量のテーブルに対してどのような解決策があるかを知りたいだけです. ヒント、ヘルプ、既成概念にとらわれない考え方は本当にありがたいです。

明確なものへの更新:

5.000 のテーブルが必要です。私のアプリケーションは基本的に、データベース、ファイルなどから古いデータを移行し、アプリケーションと接続された MySQL データベースに保存する方法です。ここで私が話しているのは、数百万のレコード、数万のフィールド、そしてデータをまとめたり単純化したりすることのできない大量のデータです。最初からデータを作成したわけではありませんが、それを保存する必要があります!

4

1 に答える 1

0

いくつかのコメントがあるので、ディスカッションを分岐するために回答を追加します。

私の質問は、そのために Rails が本当に必要ですか? あなたが書いたものから、アプリはデータベース間でデータを表示 (および移行?) するためだけに使用されます。ここでは、MySQL Admin などのツールで十分ではないでしょうか?

于 2013-07-05T12:26:40.030 に答える