Ruby 为什么这段代码比较慢?
只是将我的代码更新为Rails 3就绪,但是我遇到了下面代码的一个主要性能问题 旧代码(又好又快) 新代码(速度慢10倍) 为了便于阅读,我增加了换行符 我在用Postgres做数据库,也许这就是问题所在Ruby 为什么这段代码比较慢?,ruby,ruby-on-rails-3,postgresql,Ruby,Ruby On Rails 3,Postgresql,只是将我的代码更新为Rails 3就绪,但是我遇到了下面代码的一个主要性能问题 旧代码(又好又快) 新代码(速度慢10倍) 为了便于阅读,我增加了换行符 我在用Postgres做数据库,也许这就是问题所在 我们将非常感谢任何其他使这段代码更好的技巧 我会检查输出的SQL(从日志或控制台)以查看是否有更改和/或如何优化查询。我会检查输出的SQL(从日志或控制台)以查看是否有更改和/或如何优化查询。分页是否有问题?您使用哪个插件进行分页?您可能想试试Kaminari。分页有问题吗?您使用哪个插件进行
我们将非常感谢任何其他使这段代码更好的技巧 我会检查输出的SQL(从日志或控制台)以查看是否有更改和/或如何优化查询。我会检查输出的SQL(从日志或控制台)以查看是否有更改和/或如何优化查询。分页是否有问题?您使用哪个插件进行分页?您可能想试试Kaminari。分页有问题吗?您使用哪个插件进行分页?您可能想试试Kaminari。您在生产模式下试过吗?不仅仅是开发-我在语法上有没有犯过错误?开发模式不一定是为了速度而优化的。这很可能是一些调试挂钩或方便的特性。如果没有明显的原因让它变慢,我至少会在开发之外尝试。如果你认为这是数据库的问题,你需要为这两种解决方案发布生成的SQL代码。然后,您还可以在psql中运行这两个语句并比较它们的运行时。如果这没有什么不同,那就是一个问题,我是Ruby,你在生产模式下试过吗?不仅仅是开发-我有没有在语法上犯过错误?开发模式不一定是为了速度而优化的。这很可能是一些调试挂钩或方便的特性。如果没有明显的原因让它变慢,我至少会在开发之外尝试。如果你认为这是数据库的问题,你需要为这两种解决方案发布生成的SQL代码。然后,您还可以在psql中运行这两个语句并比较它们的运行时。如果这没有什么不同,那么这就是一个问题:RubyConsole看起来不错,SQL看起来不错。这是我检查的第一件事,到底是什么慢了10倍?我问的是什么,不是多少。那一行代码?如果是这样,您是如何度量它的?控制台看起来不错,SQL看起来不错。这是我检查的第一件事,到底是什么慢了10倍?我问的是什么,不是多少。那一行代码?如果是,你是如何测量的?
@products = Product.all(
:order => 'name',
:include => [:category, :brand, :merchant]
).paginate(:page => params[:page])
@products = Product.order("name")
.includes([:category, :brand, :merchant])
.paginate(:page => params[:page])