Это зависит от того, что вы просите php сделать, например, mysql_query () захватывает весь набор результатов (если это 500 мегабайт, до свидания);если вы не хотите, чтобы вы могли использовать:
http://php.net/manual/en/function.mysql-unbuffered-query.php
PDO, у MySQLI, похоже, есть другие способы сделать то же самое.
В зависимости от вашего запросанабор результатов может быть материализован на стороне базы данных (если вам нужна сортировка, то сортировка должна быть выполнена полностью, прежде чем вы даже получите первую строку).
Для не слишком больших наборов результатов обычно лучшеполучить все сразу, чтобы сервер мог освободить используемые ресурсы как можно скорее.