Over the last week I have been trying to understand how eager loading works in Rails to eliminate the infamous N+1 query problem by reducing the number of queries fired. My initial hypothesis was that reducing the number of queries as much as possible was the goal. However, I was surprised by what I discovered.
Using includes
to Reduce Queries
Most posts that you read about the infamous N + 1 Query Problem cite the includes
method to address the issue. includes
is used to eager load associations related to the model by using the minimum number of queries possible. For this, under the hood, it uses a preload or left outer join, depending on the situation. I will explain both situations in subsequent sections.
Continue reading %N + 1: When More Queries Is a Good Thing%
by Parth Modi via SitePoint
No comments:
Post a Comment