performance
select, pluck
select, pluckUser.select(:id).to_a
# => User Load (0.9ms) SELECT id FROM "users"
# => [#<User id: 12>, #<User id: 42>, #<User id: 1>, #<User id: 24>, #<User id: 200>, ...]User.pluck(:id)
# => (0.9ms) SELECT "users"."id" FROM "users"
# => [12, 42, 1, 24, 200, ..., 365]
User.pluck(:first_name, :last_name, :email)
# => (2.2ms) SELECT "users"."first_name", "users"."last_name", "users"."email" FROM "users"
# => [[nil, nil, "jeff@gmail.com"], ['joe', nil, "joe.brown@gmail.com"], ["Edward", "Stanza", "ed@email.com"], ...]How long to build ActiveRecord models
User.all.to_a
# => User Load (10.4ms) SELECT "users".* FROM "users"
# => [#<User id: 263, ... >, #<User id: 264, ... >, #<User id: 265, ... >, ... ]
puts Benchmark.measure { User.all.to_a }
user system total real
0.143333 0.000000 0.143333 ( 0.163123)Preload, Eagerload, Includes and Joins
Intention for eager loading
Too much query
Last updated