I\'ve been doing some research and testing on how to do fast random selection in MySQL. In the process I\'ve faced some unexpected results and now I am not fully sure I know
Why don't you add an index id, username on the table see if that forces mysql to use the index rather than just a filesort and temp table.
id, username