我们应该使用SQL命令而不是使用ActiveRecord吗?

时间:2013-07-16 03:15:07

标签: ruby-on-rails ruby-on-rails-3 rails-activerecord

我读了一篇文章说,为了获得更好的效果,应使用find_by_sql(xxxxxxxxx)代替find_by_name('John')。 这是真的吗?

这两种模式有什么区别?
如果你能展示一些例子,我会很感激!

1 个答案:

答案 0 :(得分:1)

如果您正在寻找的是良好的性能,那么您不应该使用Rails或Ruby。

find_by_sql http://apidock.com/rails/ActiveRecord/Base/find_by_sql/class

find_by是基于数据库中列的动态查找程序。例如:

Post.find_by_name('John')将返回找到name ='John'的帖子对象。这是一个LIMIT 1语句,所以如果你有多个名为John的Post对象,它只会返回1。

最后,find_by_sql是你想运行纯SQL命令,而find_by是魔术助手。