Различия в производительности между методами .find и .where - PullRequest
5 голосов
/ 17 июня 2011

Я использую Ruby on Rails 3.0.7, и я хотел бы знать, в отношении вопросов производительности, каковы различия между методом User.find(<id>) и методом User.where(:id => <id>).

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Под капотом find делает более или менее то, что вы описываете со своим where.Вы можете найти детали в этой записи .При этом, если вы хотите получить одну запись по идентификатору, вы можете использовать <a href="http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find_one" rel="nofollow">find_one</a>.Вот что в итоге делает find, когда вы вызываете его с одним аргументом идентификатора, но вы пропустите весь остальной код, который нужно запустить, чтобы выяснить, что вы хотели.

1 голос
/ 17 июня 2011

Короткий ответ, но: Это действительно не имеет значения (если только у вас нет уникального ограничения на столбец id).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...