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…
Learn just enough fundamentals to be fluent preloading associations with ActiveRecord, and start helping your team to avoid n+1 queries on production.