mysql_query buforuje cały zestaw wyników do pamięci php. Jest to wygodne i generalnie bardzo szybkie, ale masz wady.
mysql_unbuffered_query () istnieje. Nie pobiera całego zestawu wyników na raz. Pobiera małe kawałki w czasie, gdy pobierasz wiersze ze zbioru wyników.