Я выдаю SQL-запрос с использованием CodeIgniter, который может возвращать более 80000 строк в качестве результатов. Каждая строка имеет три столбца, все из которых являются целыми числами, и я получаю ошибку PHP:
Неустранимая ошибка: допустимый объем памяти 134217728 байт исчерпан
Кажется, я пытаюсь использовать более 128 МБ для получения результатов с сервера MySQL. Я использую $ query-> result_array () для получения результатов. Очевидно, что в результатах, которые я получаю, возникают серьезные накладные расходы. Скажем, я получаю 100 000 строк с 3 целыми числами. Таким образом, 100 000 * ((3 * 4 + 10) = 2,1 МБ. (10 - это количество байтов, используемых для идентификатора столбца и т. Д.).
Я что-то не так делаю?
---------------------- решаемые -----------------------
Решено путем изменения кода CodeIgniter: ссылка .
Выполнение теперь выполняется быстрее, и сценарий занимает всего ~ 3 МБ памяти вместо 128 МБ.