No es recomendable usar el ORDER BY RAND() en una sentencia mysql, ya que ejecutar RAND() requiere de más potencia de procesado para cada una de las filas antes de ordenarlas y devolver una simple fila.

// MAL
mysql_query("SELECT * FROM mitabla ORDER BY RAND() LIMIT 1");

Es mucho más optimizado generar la fila aleatoria en php. Un ejemplo:

// BIEN
$query_filas = mysql_query("SELECT count(*) FROM mitabla");
$array_fila = mysql_fetch_row($query_filas);
$fila = $array_fila[0];
$aleatorio = rand(0, $fila-1);
mysql_query("SELECT * FROM mitabla LIMIT $aleatorio, 1");

Agradezco tu comentario 🤘