ORM загружает список объектов. Затем в цикле для каждого объекта обращается к связанному — и ORM тихо выполняет отдельный SELECT. Каждое обращение выглядит безобидно, но вместе они убивают производительность.
Вместо отдельных запросов в цикле — один дополнительный запрос с WHERE id IN (...) для всех связанных записей сразу. Результат: всегда 2 запроса независимо от числа записей. В большинстве ORM это управляется методами типа include, with, joins или preload.
Включите логирование SQL-запросов и обратите внимание, если однотипные SELECT-ы повторяются десятки раз. Количество запросов, пропорциональное числу строк на странице — верный признак N+1.