mysql_fetch_array() genera ambos tipos de índices (numéricos y asociativos)... Aunque el manual de PHP dice que no existe gran diferencia en cuanto a velocidad, yo diría que genera un mayor gasto de recursos innecesarios, ya que o bien se usa los indices numéricos (
mysql_fetch_row()) o bien los asociativos (
mysql_fetch_assoc()). En ciertos casos será necesario también tomar la función
mysql_fetch_object()...
De todas ellas yo más trabajo con mysql_fetch_assoc(), me resulta más práctico (Si hay que agregar columnas posterior a la publicacion de un sitio, habra ciertos problemas con indices numericos, mas no los habrá con los asociativos)...
Un saludo,