mysql_query() is the only function that actually runs a query.
All the rest just reads data from a resultset that was sent to PHP when you called 'mysql_query()'
So you can call mysql_fetch_array() a milljion times, the database will never notice it at all. PHP fetches the arrays from it;s own memory banks that were filled during the execution of mysql_query().
What you will notice on the database is how many records your query returns.
If you do
SELECT * FROM table;
then you will get the entire table, and if there are 700 rows, then 700 records will have to be sent from the database to PHP. But, this happens when you run mysql_query(), not when you run mysql_fetch_array().
If you select 700 rows and only really need the first 10, you can tell SQL not to give more than than ten rows, using LIMIT. For mysql the syntax is: LIMIT offset,numberofrows
so it becomes:
SELECT *
FROM table
LIMIT 0,10;
Now the database will only send 10 rows, which is much faster than sending 700 rows.