JOIN with the last id
I sometimes find this technique useful for judging the performance of a query, or for comparing two possible queries.  It is especially helpful before the table is large enough to get reliable timings.

FLUSH STATUS;
SELECT ... ;
SHOW SESSION STATUS LIKE 'Handler%';


That will give a few counters.  If I see numbers that are about equal to the number of rows in a table I am selecting from, then I know there was a table scan.  Numbers near the resultset size tend to be more beneficial.  Handler...write... indicates that a temp table needed to be generated, and the number says how big it was.

Even without understanding what the numbers represent, it is often 'obvious' which of two SELECTs is better.