Дмитрий, отлично. Давайте зафиксируем, что от технических вопросов мы переходим к субъективным предпочтениям.
Чисто субъективно я предпочту явный цикл неявному, из-за лучшей читабельности.
О таких глобальных предпочтениях, как процедурное вместо функционального я бы не стал делать выводы на столь примитивном примере, но в целом, если уж говорить о субъективных предпочтениях - да, процедурное мне ближе.
Дмитрий, мне кажется, вы не совсем понимаете, о чем говорите. Вложенность в варианте с функциями никуда не делась, по памяти там тоже нет никаких преимуществ. А уж по части cognitive complexity простой цикл даст что очков форы той белиберде с подтанцовками, которая написана в соседнем ответе. Рассуждая о высоких материях, надо не забывать о том коде, который перед вами. И если уж вам приспичило порассуждать про генераторы, то вы должны быть готовы объяснить, какое преимущество они дадут при доступе к массиву, который уже существует и не дублируется в памяти.
Дмитрий, вы так пишете, как будто "мапы" не перебирают массив при помощи тех же циклов плюс вложенный, а извлекают из него данные каким-то неизвестным науке магическим способом.
Ну и что вы сможете понять заменив команду на совершенно эквивалентную?
Я ,конечно, понимаю, что вы "аниматор", но вас никто, случаем, не учил, что сначала надо думать, а потом отвечать, а не наоборот?
Запрос с SQL_CALC_FOUND_ROWS будет быстрее только если сам запрос очень медленный. Но если запрос медленный то его надо оптимизировать, а не костыли ставить. Тем более такие, которые могут уронить сервер, если запрос вернет слишком много строк
Все наоборот. запрос с FOUND_ROWS() будет тормозить выборку. Чтобы посчитать SQL_CALC_FOUND_ROWS, база должне будет каждый запрос выполнять так, как будто он сделан с лимитом в максимальное количество записей.
Вот этот вопрос и надо задавать. С самого начала. А не выдумывать собственные объяснения и заставлять других людей отвечать на очевидно бессмысленные вопросы.
Послушайте, вы правда не понимаете, что не стоит рекомендовать для нового проекта мумию давно умершего фреймворка, оживленную только чтобы поддерживать легаси проекты? Ну если вы лично тоже легаси разработчик, который ни с чем больше не умеет работать, то зачем других-то за собой тянуть?
Евгений Черданцев, насколько я знаю фасоль - это самое плохое решение, поскольку она по уши в статике, и таким образом фреймворк с самого начала будет по уши в жестких зависимостях.
О, смотри-ка, забеспокоился. Тень сомнения в своей стопроцентной правоте все-таки закралась :)
Я бы написал, что ответ уже есть в этом топике, но ты же его не поймешь, как не понял вопроса.
Так что просто учись, и старайся быть скромнее.