Ты совершенно не читаешь, что тебе пишут. Про запрос в цикле я тебе уже писал. WHERE кстати в твоем запросе лишнее. Но это все детали. Ты почему-то главного никак понять не можешь. при том что это главное составляет основу основ баз данных. Запрошенные данные любое API читает по одной строке. И чтобы превысить совершенно мизерный объем памяти, надо обладать ну совсем кривыми руками.
Jodes: этот код обрабатывает запрошенные из базы записи. Время выполнения прямо пропорционально размеру базы. Сделать так, чтобы с увеличением размера базы время исполнения уменьшалось можно, но не в нашей вселенной. А вот еще больше увеличить его можно, например выполняя этот запрос в цикле
Jodes: весь инернет засран классическим примером while ($row = $res->fetch()) { процессим строку }. Если ты мне объяснишь, где этот код умудрится сожрать памяти больше, чем занимает одна строка, я с удовольсвтием послушаю
Jodes: Так я наставляю уже битый час. Не надо никаких лимитов. Сделай один запрос и обрабатывай свои данные спокойно. Управишься на порядок быстрее, чем заставляя базы выбирать одни и те же данные 100500 раз
Jodes: не надо. Я имею опыт работы с базами данных отличающийся от опыта среднего пользователя похапе. И даже имею некоторую теоретическую подготовку, согласно которой работа с БД большого объема не представляет каких-то особенных требований в плане потребляемой оперативаной памяти.
Любой вменяемый сервис скрипт трати памяти ровно столько, сколько занимает ОДНА строка в базе. Десятки лет тысячи программистов работают с базами данных, объем которых в миллионы раз превышает разумный объем памяти, необходимый скрипту для работы. И только для пользователей несчастного похапе такая задача становится неодолимым препятствием, которое приходится натужно, скрипя извилинами, преодолевать, изобретая уродливые велосипеды.
Еще раз повторую. Выбирать надо одну запись. И никакая память не переполнится. Я понимаю, что жертвам ОРМ-ов трудно это понять, но ты уж попробуй осилить