An n+1 queries problem means that a query is executed for every result of a previous query.
For example, with this records…
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
If you execute the next code…
Post.all.each do |post|
post.comments.each do |comment|
puts comment.body
end
end
You will execute…
Post.all
)n
queries to fetch the comments
of each post
(post.comments
)If there are…
Sign up to download free ebook, where I will show the basics on how to deal with n+1 problems.
joins
, includes
, etc...) to work with associations.