Getting MySQL results

That depends on the number of records to be processed and the number you want to extract from the random list.

If extracting one record from the result it is actually more efficient up to about 700 records. If you are extracting 30 or more then it is more efficient up into the 100000 range.

That it is really expensive is only true if you want a very small number of records from a really huge number of possibilities.