铁轨重构技巧

时间:2010-10-10 19:42:36

标签: ruby-on-rails database refactoring

我一直在构建一个大型的rails应用程序,现在是时候重构它了。

您可以向我提供哪些提示,或者您可以指向我的资源?我特别感兴趣的是让我的数据库调用更有效率。

2 个答案:

答案 0 :(得分:2)

“提高数据库调用效率”不是重构,而是性能调优。

  • 进行性能测试并仔细查看日志,以便首先指导您的工作。

  • 找出哪些是您最慢的查询并对其进行处理。

Re:重构提示

  • 始终先添加测试,然后重构。没有测试的重构就像没有网的高线 - 可能而且许多人这样做,但也非常危险。

答案 1 :(得分:1)

通常,执行以下操作会为您带来一些性能提升。

  • 在数据库列上使用索引,例如外键和STI类型字段。基本上是用于连接或搜索的任何字段。
  • 在需要时使用include参数(Rails 3中的方法)来急切加载关联。这可以是一个很好的地方,基准测试可以帮助你弄清楚你是否正在改善或损害性能。
  • 使用select参数指定要在查询中选择的字段。默认情况下,它会加载所有列,但仅限于所需的字段将提高性能。如果您有一个包含大量列的表,并且您一次选择了大量记录,我建议您这样做。