Ruby on rails 开发环境对某些模型的查询速度非常慢

Ruby on rails 开发环境对某些模型的查询速度非常慢,ruby-on-rails,model,performance,Ruby On Rails,Model,Performance,过去几周我一直在为这个问题绞尽脑汁 由于某些原因,我的本地rails开发环境一直很慢。我的生产环境在服务器上的运行速度非常快。但是使用相同的代码,我的开发环境速度太慢,我决定进一步深入研究 我发现我的两个主要模型存在问题。我可以通过终端中的控制台识别它 Admin.last #(super quick, no records there) Club.last #(super quick, about 1400 records there) User.last #(super slow,

过去几周我一直在为这个问题绞尽脑汁

由于某些原因,我的本地rails开发环境一直很慢。我的生产环境在服务器上的运行速度非常快。但是使用相同的代码,我的开发环境速度太慢,我决定进一步深入研究

我发现我的两个主要模型存在问题。我可以通过终端中的控制台识别它

Admin.last 
#(super quick, no records there)
Club.last 
#(super quick, about 1400 records there)

User.last 
#(super slow, about 3 seconds. but no records in there yet!!!!)
Site.last 
#(super slow,about 3 seconds, too.. but this one has about 4000 records)
除了用户有照片(使用回形针)外,管理员和用户的字段数量和类型几乎相同。但不管怎样,回形针和俱乐部配合得很好

任何帮助都将不胜感激

谢谢

编辑:我发现了更精确的问题。在用户模型和站点模型中,我都有这样的引用,这会减慢我的开发环境的速度

include ActionController::UrlWriter
我知道我们不应该在模型级别使用URL。但我必须使用它。现在的问题是,为什么只在Dev env上使用它会很慢,而不是在生产环境上?
谢谢。

这是因为每次都会重新加载您的URL。所以花点时间。在生产环境中,不会重新加载您的路线。

这是因为每次都会重新加载您的URL。所以花点时间。在生产环境中,不会重新加载路由。

在开发环境中,代码会在每次请求后重新加载,而不会缓存。这意味着您可以对代码进行更改,只需刷新页面,而不必刷新服务器


在生产模式下,缓存路由/模型,因为它们不太可能在请求之间进行编辑,而无需重新启动服务器。

在开发环境中,代码在每个请求后重新加载,而不缓存。这意味着您可以对代码进行更改,只需刷新页面,而不必刷新服务器


在生产模式下,路由/模型会被缓存,因为它们不太可能在请求之间进行编辑,而无需重新启动服务器。

谢谢。这是有道理的。我刚刚删除了代码以保持在模型的外部(应用程序控制器),并避免在模型中使用引用。现在效果很好,谢谢。这是有道理的。我刚刚删除了代码以保持在模型的外部(应用程序控制器),并避免在模型中使用引用。现在效果很好。