Preload, Eager Load, Includes, and Joins in Ruby on Rails.

Let’s take an example to understand the difference between them.

One company has many employees, and one to many connections is there between the company and employees.


Preload loads the data into two queries.

Includes also load associate data in two queries in the default case.

We can’t use preload to add conditions for the associate table. Like in our case we can’t add where a query for employees. It generates an error on adding where and order by with associated table.


Eager load loads all associated data in a single query. Railroad uses the left outer join to combine data. We can use where query also with eager load for filtering the data from the associated table.


Joins loads data in a single query. It uses an inner join to bring data.

Joins is good if we are filtering the data from the associated table, But if we want to fetch data from a relational table, It loads a separate query for every column data.

Includes is a solution to prevent multiple queries. It loads the data from the associated table without multiple queries.

Includes as preload:

Includes as eager_load:

Eager_load loads all columns in a single query But Includes loads the data as per need.. It works as preload in default case and works as eager_load in case of the additional query in the associated table.

RailsCarma brings 10+ years of cutting-edge solutions expertise in creating Ruby on Rails Applications and enhancing your already existing Rails Applications. With a team of experts equipped with an extensive understanding of the RoR framework, RailsCarma helps you translate your business needs into quicker and cost-efficient development of tailored applications. By infusing agile practices into our RoR development, we take error-free coding to the next level with our exemplary post-deployment maintenance and support. Let us know about your business needs for us to help you realize your Rails Development goals with positive ROI.




Ruby on Rails Development Company

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

HCF in Python

Distributed Systems — A Many-Faced God -

Service-to-service Spring 5 + OAuth2 integration

Gateways to the Web

[Serverless] Email Service with AWS SES and Templates

Decoding the BFS questions

TryHackMe | Walking An Application Walkthrough

But in contrast to that, for a country that is a leader in longevity and has very

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Ruby on Rails Development Company

More from Medium

ruby-build: definition not found: x.x.x

Let’s Start Rebuilding rails

Hunting down spooky JSON module redefinition via Oj

Encryption in Rails 7

image of a padlock placed on a keyboard and next to some credit cards