【发布时间】:2013-07-03 06:56:33
【问题描述】:
我有一个运行 Ruby 2 和 Rails 4 的 Ruby on Rails 应用程序。该应用程序的主要目的是导入和查看来自其他数据库的数据,它做得很好。为此,我为每个导入的表创建 MVC 和路由。但是我遇到了一点性能问题,想知道是否有办法优化它。
例如,我将 5.000 个表导入到我的应用程序中。对于每个表,我需要定义一个路由、一个模型、一个控制器和一个视图。我需要显示、排序、搜索和导出表格中的所有或选定对象。
我现在的工作流程是让 Sidekiq 在后台运行,为每个表构建所有这些 MVC,然后创建一个包含 5000 个路由的路由文件(我有几个)。
主要问题是拥有 25.000 个文件和一个包含 20.000 行代码的路由文件对于保持应用程序的简单和快速并没有真正的帮助。
我想出的另一种方法是为每个表设置一个动态 MVC 和一个控制器方法,并通过以下方式获取数据:
ActiveRecord::Base.connection
这将使所有文件、控制器和模型减少一点,但我仍然会有很多路由和视图。而且我还没有找到像现在这样进行搜索、排序和导出的解决方案。
所以,我只是想知道,对于如此大量的桌子,您有什么解决方案。非常感谢任何提示、帮助和开箱即用的想法!
更新以澄清事情:
有 5.000 张桌子是必要的。我的应用程序基本上是一种从数据库、文件或其他任何东西迁移旧数据并将其存储在我的应用程序和连接的 MySQL 数据库中的方法。我在这里谈论的是数百万条记录、一万个字段,以及我无法合并或简化的大量数据,因为我一开始并没有创建数据,但我必须存储它!
【问题讨论】:
-
听起来您的数据库结构存在重大问题。
-
...having 25.000 files and a routes file with 20.000 lines of code isn't really helpful in keeping the application simple and fast.- 在您的应用程序中拥有 5000 个表是否简单/快速? -
我很想看到这个应用程序的实际应用!
-
拥有 5.000 个表是必要的。我的应用程序基本上是一种从数据库、文件或其他任何东西迁移旧数据并将其存储在我的应用程序和连接的 MySQL 数据库中的方法。我在这里谈论的是数百万条记录、一万个字段,以及我无法合并或简化的大量数据,因为我一开始并没有创建数据,但我必须存储它!
-
请不要为此使用 ruby on rails.. 只尝试 Ruby...
标签: ruby-on-rails database-design rails-activerecord rails-routing