MySQL is smart in that if you specify a
LIMIT 5000 in your query, and it is possible to produce that result without generating the whole result set first, then it will not build the whole result.
For instance, the following query:
SELECT * FROM table ORDER BY column LIMIT 5000
This query will need to scan the whole
table unless there is an index on
column, in which case it does the smart thing and uses the index to find the rows with the smallest