标签: ruby-on-rails ruby performance ruby-on-rails-3 methods
我正在使用Ruby on Rails 3.0.7,我想知道,关于性能问题,User.find(<id>)方法和User.where(:id => <id>)方法之间有什么区别。
User.find(<id>)
User.where(:id => <id>)
答案 0 :(得分:1)
简短回答,但是:这无关紧要(除非您的id列没有唯一约束)。
id
答案 1 :(得分:1)
在幕后,find或多或少地与您的where所描述的内容相同。您可以在this post中找到详细信息。话虽如此,如果您希望按ID获取单个记录,那么您可能需要使用find_one。当你使用id的单个参数调用它时,这就是find最终会做的事情,但是你将跳过它需要运行的所有其他代码来找出你想要的东西。
find
where
find_one