70MB of tempfiles is not a lot. A good server has at least a gigabyte of tempspace nowadays.
But are you sure your JOIN was correct?
it is very 'easy' to do a JOIN wrong, and get a so-called cartesian product, where the entire 'right' table gets returned once for every record on the 'left' table.
If you have 5000 records in the left and 10000 in the right table, you will get 5000*10000=50Million records, which could easily account for the 70MB of tempfiles.
And that has nothing at all to do with indexing. Indexing onle speeds up the searches because the database nolonger has to do sequencial scands accross the tables.