Разбить цикл в PHP на части

Все сталкивались с ошибкой:
Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted
Кто не сталкивался, тот не работал с нагруженными проектами. Как же быть в этом случае? Нам поможет постраничная разбивка выполняемого цикла. В кратце, работает это так - PHP-скрипт выполняет часть нужной работы, далее перенаправляется сам на себя, но с другим номером страницы в GET. И так пока скрипт не отработает полностью. А перенаправление осуществляется на клиентской стороне, выплёвыванием джава-скрипта на страницу, чтобы сервер не ругался, мол наш PHP-скрипт ушёл в бесконечный цикл.

$per_page = 5; // операций на одну страницу
if (!$_GET['pageid']) {
  $_GET['pageid'] = 1;
}
$_GET['pageid'] = mysql_real_escape_string($_GET['pageid']);
$from = $per_page*($_GET['pageid']-1);
$limit = $from.', '.$per_page;
$sql = "FROM `wp_loans` WHERE `pay_date` != '0000-00-00 00:00:00' AND `validate`=5"; // ваши условия
$query = mysql_query("SELECT COUNT(`id`) AS `numb` $sql");
@$row2 = mysql_fetch_array($query, MYSQL_ASSOC);
$query = mysql_query("SELECT `id` $sql ORDER BY `id` LIMIT $limit");
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
  $stats->recount_back_date($row['id']); // ваш неподъёмный говнокод
}
if ($from >= $row2['numb']) {
  die('Я сделяль!');
}
$from = $from+$per_page;
if ($from > $row2['numb']) {
  $from = $row2['numb'];
}
echo '
Обрабатываю записи: '.$from.' из '.$row2['numb'].'
<script type="text/javascript">
window.location.href = "/sb_cabinet.php?pageid='.($_GET['pageid']+1).'"; // ссылка на ваш скрипт
</script>';
die;