Podriamos reducir mas el codigo de esta forma
Código PHP:
<?php
$n = range(1, 49); // Generamos un array con todas las posibilidades
shuffle($n); // Desordenamos el array
$array = array_slice($n, 0, 5); // Extraemos los 5 primeros valores de las posibilidades
var_dump($array);
?>
No e chequeado el tiempo ni los recursos que consumen cada uno de los dos scripts que te e mandado, pero con consultas de tan pocos valores no es critico el tiempo ni los recursos.