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 want to solve n+1 queries with confidence?

Sign up to download free ebook, where I will show the basics on how to deal with n+1 problems.

  • Understand the methods (joins, includes, etc...) to work with associations.
  • Identify when active record will execute a query.
  • And the tools that can help you detect n+1 queries (like the bullet gem).