#n+1 problem
##Что же такое проблема N+1?
Эта проблема возникает, при загрузке дочерних обьектов используя ассоциацию (belongs_to-has_many). Многие ORM (ORM - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования)по умолчанию реализуют ленивую загрузку - соответственно делается запрос на поиск одной записи для родительского обьекта и для КАЖДОЙ дочерней записи. Как вы понимаете, делая N+1 запрос вместо одного вы перенапрягаете БД, чего мы и должны избегать.
Давайте рассмотрим пример приложения, в котором содержаться девайсы, их модели, бренды и категории:
class Device < ActiveRecord::Base
belongs_to :device_model
has_many :orders