Rails中的以下活动记录查询之间是否存在显着差异:
User.select('*')
User.all
主要是在数据库负载、结果和性能方面?
更新:根据吉司先生在下面的回答,最显着的区别是 User.select('*'( 返回活动记录结果集,而 User.all 返回项目数组。如果需要内置的活动记录方法,则意义重大。
没有区别。生成的 SQL 查询几乎相同。
在 Postgres 中,使用User.select('*')
您将获得一个带有SELECT * FROM users
的查询。 使用User.all
,您将获得带有SELECT users.* FROM users
的查询。
不知道MySQL中会发生什么,但我想这是相同的。