You can store all the information for a particular user right along with the data for their username password, etc.. in the same table. Its always a good idea to have an id field, if nothing else, if you do table joins or ever have to match a particular user, doing a search by the id field will be faster, because database searches for numbers are extreamly fast.
I think you underestimate the power of the database. You can have a few hundred thousand records in a database and pull out one record in less then a second. One of the big factors in performance is related to what you are searching for, and if the fields you are searching in have indexes or not. Most performance problems are related to not using indexes properly.
If you want more detailed information about how to use mySQL, and performance issues, I'd recomend a book called MySQL that New Riders puts out. You can probably find it on Amazon or some place.