我使用rails 3.2.11和ruby 1.9.3。 我有一個緩慢的頁面,我知道我有很多方法來優化它。目前我主要關注update_attributes方法。創建方法還是更新更快?
這裏是我的代碼:
def create
@user = current_user
@demo = @user.demos.new
race_ethnicity_response = []
params[:race_ethnicity_response].each do |response, value|
race_ethnicity_response << response if value != '0'
end
params[:demo][:race_ethnicity_response] = race_ethnicity_response.join(', ')[0, 254]
@demo.update_attributes(params[:demo])
end
或者我應該使用類似的構建和挽救或創造?
@demo = @user.demos.build
...
@demo.save!
或者
@users.demos.create!(params[demo])
我很好奇這是更快。我知道如果它節省了2ms,那麼我應該使用更多代碼正確/可讀的。
沒關係。我敢打賭,他們會發出相同的SQL命令 –
update_attributes並保存可能會產生相同的SQL,但是如果update_attributes在進行sql調用之前做了很多檢查呢?或其他事情。 – sonnyhe2002
頁面有多慢?你能從控制檯上發佈你的日誌顯示速度嗎? – fatfrog