Стоит ли разделять 1 общий запрос на несколько маленьких?
Хочешь красивый-гибкий - дроби.
Хочешь производительный-быстрый - не дроби.
Сделайте уровни абстракции, чтобы "копии" контроллеров были прозрачными и соответствовали принципу DRY. Тогда у вас и быстро всё будет и гибко. Будут и отдельные методы для получения запчастей и комбинированные для скорости.
Однако помните, что преждевременная оптимизация - зло. Сделайте MVP и держите в голове, что, возможно, придётся вводить уровни абстракции и делать отдельные контроллеры для скорости. Не исключена вероятность, что скорости вам хватит и так, а оптимизация на ранних этапах отъест лишние деньги и время, которые можно было потратить на полезные фичи, чтобы соблазнить инвесторов.