MySQL: NOT EXISTS vs LEFT OUTER JOIN...IS NULL Is NOT EXISTS or LEFT OUTER JOIN...IS NULL more efficient for finding records in one table that aren't in another? Specifically, I'm trying to figure out which of the two queries below is better:

SELECT table1.id FROM table1 WHERE table1.a='FOO' AND 
NOT EXISTS (SELECT 1 FROM table2 WHERE table1.id = table2.id);


or

SELECT table1.id FROM table1 LEFT OUTER JOIN table2 
ON table1.id = table2.id WHERE table1.a='FOO' AND table2.id IS NULL;
NOT EXISTS performs in most straightforward way: just checks equality and returns TRUE or FALSE on the first hit / miss.
LEFT JOIN / IS NULL either makes an additional table look-up or does not return on the first match and performs more poorly in both cases.