How Ruby Uses Memory

If you look at the SQL it generates, they both generate a limit:

irb(main):001:0>  User.where(name: "schneems").first
  User Load (7.9ms)  SELECT  "users".* FROM "users" WHERE "users"."name" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["name", "schneems"]]

versus

irb(main):002:0>  User.where(name: "schneems").limit(1)
  User Load (0.4ms)  SELECT  "users".* FROM "users" WHERE "users"."name" = $1 LIMIT 1  [["name", "schneems"]]

The first method is understood by the Active Record relation to be a limiting factor