php.ru/manual/ref.array.html
PHP, конечно, много памяти жрет для массивов, но не столько, чтобы вытаскивать по одной строке из базы с целью экономии памяти. Возьмите все строки из базы за один запрос, преобразуйте в нужный массив, обработайте его, затем обновите базу вторым запросом. Когда количество элементов в массиве превысит сто тысяч, почитайте эту статью
habrahabr.ru/post/141093 и погуглите, есть довольно интересные советы про оптимизацию по этому поводу... хотя после всех них единственным разумным вариантом кажется скрипт на питоне. Но это уже когда в массивах будет под миллион элементов.