Well
mysql_fetch_array is marginally slower than mysql_fetch_row
mysql_fetch_object is the same speed as mysql_fetch_array, but using it is limited by syntax and the fact that you must use the field names to refer to the results. If all you are going to do is to refer to the results by fieldname, then use this by way of preference over mysql_fetch_array.
mysql_fetch_assoc is the same as mysql_fetch_array except that duplicate field names are not allowed (assumes you have two tables to combine which have duplicate field names). mysql_fetch_assoc keeps only the latter field name where duplicates occur, whereas mysql_fetch_array keeps both, but to access the former you need to refer to it by index number instead.
mysql_fetch_assoc is not noticeably slower than mysql_fetch_row.
So, if all you want is one row of data from one table, use mysql_fetch_assoc.
If you want multiple rows of data, don't use mysql_fetch_row.
If you don't have duplicate field names, or don't want them (ie you want to drop the duplicate) use either mysql_fetch_assoc or mysql_fetch_object.
The choice, they say, is yours.
Syntax (from the manual) for displaying mysql_fetch_object fields is:
mysql_connect ($host, $user, $password);
$result = mysql_db_query ("database", "select * from table");
while ($row = mysql_fetch_object ($result))
{
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result ($result);
But as to your question, I doubt that there is a gnat's whisker between it on modern servers. You should concentrate instead on what you want to do with the data.
Trevor