Сколько запросов сделает ORM
Условие
Посчитайте число SQL-запросов при выводе списка постов со связями.
Каждая строка: режим (lazy или eager), число постов P и список связей. Связь author, comments или tags первого уровня, либо вложенная comments.user.K: у каждого поста K комментариев, и нужен автор каждого комментария.
Правила: запрос за посты всегда один. В режиме lazy связь первого уровня даёт P запросов (по одному на пост), вложенная даёт P·K запросов за авторов комментариев (комментарии при этом уже загружены отдельной связью comments и здесь не считаются). В режиме eager связь первого уровня это 1 запрос (WHERE IN), вложенная 2 (комментарии и их авторы). Если постов 0, дополнительных запросов нет в обоих режимах.
Ввод: n (n ≤ 5000), затем строки.
Вывод: число запросов для каждой строки.
Пример
4
lazy 50 author
eager 50 author
lazy 10 author comments
eager 10 author comments
51
2
21
3
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.