Трудно е да дадете конкретен отговор, без да видите конкретния си код. Като се има предвид това, PHP структури от данни като масиви са асоциативни. PHP дизайнерите умишлено направиха компромис да използват допълнителна RAM памет, за да спестят време за достъп до масив.
Можете да спестите памет по няколко начина. От една страна, можете да извлечете всеки ред от вашия набор от резултати като числов, а не като асоциативен масив. Прочети това. http://php.net/manual/en/mysqli-result .fetch-array.php
От друга страна, PHP изхвърля всички редове във вашия набор от резултати наведнъж, освен ако не му кажете да не го прави. Тази операция за сливане консумира много RAM. Нямате нужда от това, ако планирате да обработвате големия си набор от резултати един ред по ред. Нуждаете се от небуферирана заявка да направя това. Прочетете това:http://php.net/manual/en/mysqlinfo. concepts.buffering.php