escluderei mysql_result per il semplice fatto che fa la lettura del result set un campo alla volta.

la serie mysql_fetch_* invece legge un record alla volta caricando il result set in un array con indice associativo e/o numerico oppure come oggetto. non c'e' una differenza sostanziale tra di loro in pratica si equivalgono anche se mysql_fetch_array rende sia l'indice numerico che associativo e quindi doppio record del result set.