usare un while è da suicidi...
dipende dal carico del server... ma quando gli utenti inizieranno a salire sarà un bel problema..
il carico non dipende solo dalla banda rikiesta ma anche dal carico a livello di cpu che la chiamata mail() produce 
a questo scopo ti basta usare un while strutturato in maniera diversa che mandi via una sola mail con tutti gli indirizzi com bcc:
una soluzione che usa i "bcc:" può essere questa:
codice:
$subject = "oggetto mail";
$content = "testo mail";
$from = "tuamail@dominio.com";
$intestazione = "From: $from\n";
$intestazione .= "Bcc: $from";
while(list($user_email) = mysql_fetch_row($result, $db)) {
$intestazione .= ", $user_email";
}
$intestazione .= "\n";
mail($from, $subject, $content, $intestazione);
penso sia abbastanza compresibile 
se ci sn dubbi chiedi.
quello è i miglior metodo per inviare mail senza caricare il server (l'mta che invia le mail si gestisce da solo bilanciando il carico quando ci sn tante mail da inviare... il php no