Ruby中的缓存问题
我用Ruby构建了我的第一个web应用程序,我注意到服务器在加载每个页面时速度非常慢。以下线路至少重复10次:Ruby中的缓存问题,ruby,Ruby,我用Ruby构建了我的第一个web应用程序,我注意到服务器在加载每个页面时速度非常慢。以下线路至少重复10次: CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8&q
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE Entreprise Load (0.0ms) SELECT "entreprises".* FROM "entreprises" WHERE "entreprises"."id" = $1 LIMIT $2 [["id", "b50b7beb-7417-4110-b602-660e9ecf067e"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE Entreprise Load (0.0ms) SELECT "entreprises".* FROM "entreprises" WHERE "entreprises"."id" = $1 LIMIT $2 [["id", "b50b7beb-7417-4110-b602-660e9ecf067e"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
[ActionCable] [1299d9c9-e5c9-4e49-b0ff-b986c415eee8] ConferencierChannel stopped streaming from conferencier_channel
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE Entreprise Load (0.0ms) SELECT "entreprises".* FROM "entreprises" WHERE "entreprises"."id" = $1 LIMIT $2 [["id", "b50b7beb-7417-4110-b602-660e9ecf067e"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE Entreprise Load (0.0ms) SELECT "entreprises".* FROM "entreprises" WHERE "entreprises"."id" = $1 LIMIT $2 [["id", "b50b7beb-7417-4110-b602-660e9ecf067e"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", "1299d9c9-e5c9-4e49-b0ff-b986c415eee8"], ["LIMIT", 1]]
CACHE Entreprise Load (0.0ms) SELECT "entreprises".* FROM "entreprises" WHERE "entreprises"."id" = $1 LIMIT $2 [["id", "b50b7beb-7417-4110-b602-660e9ecf067e"], ["LIMIT", 1]]
我的代码中是否有创建此文件的设置?此问题似乎是N+1查询问题: 我想你的控制器里有这个代码
@entrepies = Entrepry.all
并且像这样召唤视野
<% @enrepies.each do |entrepry| %>
<p><%= entrepry.title %></p>
<p>
<% entrepry.users.each do |user| %>
<%= user.name %><br/>
<% end %>
</p>
<% end %>
这段代码有n+1个查询问题每个Enterprie对象从数据库调用用户对象,因为用户不包括Enterpries查询。您必须在Enterprises查询中加入或包含用户表。就这样,;Entrepry.all.includes:user您在Ruby中的第一个web应用程序在启动时进行SQL调用?你有没有从一些在线教程中复制一些代码?复制和运行您不理解的代码库不会有太大进展。@SilvioMayolo感谢您的评论,非常有用。