Stopy: да, фильтровать и сортировать. Судя по тому, что вы задаёте такие вопросы, могу предположить, что индексов там нет. И оптимизация сводится к их созданию после изучения, что такое индексы и как их использовать.
con_: вы предлагаете такой сценарий: вызубриваешь пдд, устройство автомобиля, оказание первой помощи, всевозможные кодексы, потом гордо впервые садишься за руль и понимаешь, что ездить нифига не умеешь, хоть и обладаешь внушительной теоретической базой, а пока учишься собственно ездить, забываешь нафиг всю теорию.
Тимур Шемсединов: попробую возразить, пусть и не могу похвастать большим опытом использования мидлвари вообще и нодовской реализации в частности :)
1-3. применимы и к другим способам структуризации кода. То есть выполняемая ранее функция с доступом к http-контексту может его поменять, куча функциональности будет потреблять много ресурсов (ок, мидлваря может съесть больше памяти за счёт вложенных вызовов вместо последовательных), не передать управление в цикл обработки событий тоже можно откуда угодно.
4. Мне кажется, такого можно добиться только если вообще всё пытаться делать через мидлвари. Если куску логики не нужно знать о постах с гетами и прочими заголовками - незачем делать его мидлварей и насильно скармливать req/res :)
5. Тут соглашусь, в таком виде, как это сделано в ноде, нормально решить не получится.
EVOSandru6: opcache никак не взаимодействует с фреймворками, это кэш байткода, он сохраняет скомпилированный код приложения, чтобы не перекомпилировать при последующих запросах. То, что вы пытаетесь настроить - это кэширование данных, делается через APCu, настраивается так же, как APC.