我有一个表“State”,由几千条记录组成,我在一个页面上打印它们的每个名字。是否会为每个添加动态工具提示显着增加页面的加载时间?换句话说,这两个代码块之间是否存在显着的性能差异?
<%= State.all.each do |state| %>
<%= state.name %>
<% end %>
或
<%= State.all.each do |state| %>
<%= link_to state.name, "#", title: "(" + state.weather + ")" %>
<% end %>
对于记录,weather
是通过将两个State属性添加到一起计算的实例方法:
def weather
self.snow + self.rain
end
答案 0 :(得分:1)
如果您想知道可以轻松查看日志,它会显示活动记录时间和视图呈现时间
它看起来像这样
Completed 200 OK in 539ms (Views: 486.9ms | ActiveRecord: 1.8ms)
第一个200
表示请求成功,第二个数字539ms
是总请求时间,在这种情况下是&#39; 539毫秒&#39;,然后&#39; 39; sa分解,486.9ms
花费在视图呈现中,1.8ms
用于ActiveRecord
查询
测试这两种情况,我认为你没有发现任何巨大差异,但你应该检查
PS:您应该将查询调用移动到控制器,只是为了良好的约定
# controller
@states = State.all
#view
<%= @states.each do |state| %>