如何处理Rails中的大量表(5.000)?

时间:2013-07-05 08:25:31

标签: ruby-on-rails database-design rails-activerecord rails-routing

我有一个运行Ruby 2和Rails 4的Ruby on Rails应用程序。该应用程序的主要目的是导入和查看来自其他数据库的数据,它做得非常好。为此,我为每个导入的表创建MVC和路由。但是我遇到了一些性能问题,想知道是否有办法对其进行优化。

例如,我将5.000个表导入到我的应用程序中。对于每个表,我需要定义一个路由,一个模型,一个控制器和一个视图。我需要从表中显示,排序,搜索和导出所有或选定的对象。

我现在的工作流程是我让Sidekiq在后台脚手架中运行每个表格的所有MVC然后创建一个路由文件(我有几个),其中包含5.000条路径。

主要问题是拥有25.000个文件和一个包含20,000行代码的路由文件对于保持应用程序简单快速并没有多大帮助。

我提出的另一种方法是为每个表提供一个动态MVC和一个控制器方法,并通过以下方式获取数据: ActiveRecord::Base.connection

这样可以减少所有文件,减少控制器和减少模型,但我仍然会有很多路径和视图。而且我还没有找到像我现在这样做进行搜索,排序和导出的解决方案。

所以,我只想知道,你有什么解决方案可以获得如此多的表格。任何提示,帮助和开箱即用的想法都非常感谢!

更新为澄清事物:

需要5.000个表。我的应用程序基本上是一种从数据库,文件或其他任何东西迁移旧数据并将其存储在我的应用程序和连接的MySQL数据库中的方法。我在这里谈论的是数百万条记录,数以千计的字段以及我无法合并或简化的数据加载和加载,因为我没有首先创建数据,但我必须存储它!

1 个答案:

答案 0 :(得分:0)

有一些评论,所以对于讨论,我正在添加一个答案。

我的问题是 - 你真的需要Rails吗?根据您编写的内容,应用程序仅用于在数据库之间显示(和迁移?)数据。像MySQL Admin这样的工具不会在这里充足吗?