While I appreciate that you put a lot of energy into this response, I don't agree with a lot of the advice you give.
For instance if there is an index on the name, then the loop will work fine for much, much larger datasets than just 10 elements. I don't know where you get a 50K upper limit on a join from. I've joined million row tables in the database before and been satisfied with the result. You do a lot of talking about issues with disk without recognizing the important differences between seeking to disk and accessing disk sequentially. etc.