之前一直用 rails5.1 版本,平时查询时候,看 log 时也没怎么在意。最近接手了一个 rails5.0 版本的项目,里面有 8 万条用户数据,我在升级 rails5.2 时注意到了一个问题。在 console 中执行 User.all 查询时,显示的 sql 语句。
rails5.2
SELECT "users".* FROM "users" LIMIT $1 [["LIMIT", 11]]
rails5.1
SELECT `users`.* FROM `users` LIMIT 11
rails5.0
SELECT "users".* FROM "users"
查询效率上有上百倍的差距,我不明白 rails5.1、rails5.2 中这个 limit11 是哪里来的?