Si tenés pocos resultados usar
mysql_fetch_row() es lo mejor (crea un array de posiciones). El tema es que si tenes muchos se torna "ilegible". En ese caso lo mejor es usar
mysql_fetch_assoc() (donde tenes un array asociativo). Usar
mysql_fetch_array() no es óptimo comparado con las anteriores ya que genera ambos y ocupa mucha más memoría (a no ser que uses su segundo parámetro opcional).
Optimizar la parte de PHP y SQL es lo primero y donde se ven realmente los delays de un sistema.
korg1988, algo importante que vale comentar: La mayoría de la gente que "programa" usa cosas que son
desastrosas y muchas veces es bueno, no porque todos lo usen, considerar por uno mismo que es mejor o peor leyendo el manual o mismo preguntando acá como bien lo está haciendo layker, y luego saber interpretar sabiendo que nadie tiene la última palabra. En PHP sobre todo está lleno de malas costumbres.
Aclaro que no es el caso de usar mysql_fetch_array, su uso para nada es es la tragedia de la programación.
Saludos ;)