У меня проблема. Когда я перебираю кучу SQL-запросов на основе года и месяца
и я получаю попадание в таблицу, использование памяти взрывается !!!!
Я использую php 5.1, Oracle 10.1, Codeigniter 2.02 на коробке Centos.
Вот некоторые выходные данные журнала, содержащие использование памяти:
INFO - 2011-12-09 16:10:26 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «01»: 1788664
INFO - 2011-12-09 16:10:27 -> СЧЕТ РЕЗУЛЬТАТОВ: 0
INFO - 2011-12-09 16:10:27 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «02»: 1793128
INFO - 2011-12-09 16:10:28 -> СЧЕТ РЕЗУЛЬТАТОВ: 0
INFO - 2011-12-09 16:10:28 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей '03': 1793728
INFO - 2011-12-09 16:10:30 -> РАСЧЕТ РЕЗУЛЬТАТА: 0
INFO - 2011-12-09 16:10:30 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «04»: 1794328
INFO - 2011-12-09 16:10:32 -> СЧЕТ РЕЗУЛЬТАТА: 0
INFO - 2011-12-09 16:10:32 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей '05': 1794928
INFO - 2011-12-09 16:10:33 -> СЧЕТ РЕЗУЛЬТАТОВ: 0
INFO - 2011-12-09 16:10:33 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «06»: 1795528
INFO - 2011-12-09 16:10:35 -> СЧЕТ РЕЗУЛЬТАТОВ: 0
INFO - 2011-12-09 16:10:35 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «07»: 1796128
INFO - 2011-12-09 16:10:37 -> СЧЕТ РЕЗУЛЬТАТА: 0
INFO - 2011-12-09 16:10:37 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей '08': 1796728
INFO - 2011-12-09 16:10:38 -> СЧЕТ РЕЗУЛЬТАТА: 0
INFO - 2011-12-09 16:10:38 -> LOOP: NF: 28 ГОД: МЕСЯЦ 2010: набор записей «09»: 1797392
INFO - 2011-12-09 16:10:45 -> СЧЕТ РЕЗУЛЬТАТА: 224162
INFO - 2011-12-09 16:10:45 -> LOOP: NF: 28 ГОД: 2010 МЕСЯЦ: набор 10 минут: 486504280
NF = количество полей
Так, если строка данных в таблице имеет общий объем 1000 байт (на самом деле это намного меньше)
и у меня 224162 записей,
тогда 224162 * 1000 = 224 мегабайта памяти. Давайте добавим немного для накладных расходов.
Я не должен получить удвоенный объем используемой памяти !!!
У меня установлена максимальная память 512M. Но это не проблема.
Проблема заключается в использовании памяти.
Я делаю это с результатами запроса:
foreach($query->result_array() as $row)
Что я делаю не так?
Как я могу это исправить?