'.find'和'.where'方法之间的性能差异

时间:2011-06-16 21:55:02

标签: ruby-on-rails ruby performance ruby-on-rails-3 methods

我正在使用Ruby on Rails 3.0.7,我想知道,关于性能问题,User.find(<id>)方法和User.where(:id => <id>)方法之间有什么区别。

2 个答案:

答案 0 :(得分:1)

简短回答,但是:这无关紧要(除非您的id列没有唯一约束)。

答案 1 :(得分:1)

在幕后,find或多或少地与您的where所描述的内容相同。您可以在this post中找到详细信息。话虽如此,如果您希望按ID获取单个记录,那么您可能需要使用find_one。当你使用id的单个参数调用它时,这就是find最终会做的事情,但是你将跳过它需要运行的所有其他代码来找出你想要的东西。