Benito Serna Tips and tools for Ruby on Rails developers

Quiz to practice the difference between preload, includes or eager_load

Do you need more practice to understand the difference between “includes”, “preload”, “eager_load” and “joins”?

Here you will find a set of exercises to help you understand how you can use this 4 methods.

You can find the code on bhserna/preloading_quiz

This is are the exercises for the post Examples to learn the difference between preload, includes or eager_load, you can find the answers there.

On /exercises you will find a list of exercises with:

You should provide a way to fetch the records.

For example:

puts "-----------------------------"
puts "TASK"
puts "1. Fetch all acomodations preloading rooms (with includes)"
puts "-----------------------------"

# accomodations = ?
# display_with_rooms(accomodations)

How to run the examples

  1. Create a postgres database with createdb preloading_quiz. As you can see the in db/config.rb the name of the database is hardcoded, so you will need to create a database with that name.

  2. Install the dependencies with bundle install.

  3. Run the seeds with ruby db/seeds.rb. You can also update the data that you want to use, there.

  4. Run the exercises with ruby exercises/01.rb, etc…

Related articles

Do you feel bad for asking for help to fix an n+1 queries problem?

Making things work isn't enough for you any more? Now you need to consider performance and scalability?

... But you normally have troubles fixing n+1 queries and trying to find why active record is ignoring your "includes"?

Are you are worried because you feel unqualified to tackle tasks with complex data models?

Sign up to learn how to fix n+1 queries on Rails