Opgrader til MySQL 5.6, som optimerer semi-joins mod underforespørgsler bedre.
Se http://dev.mysql.com/doc/ refman/5.6/da/subquery-optimization.html
Ellers brug en ekskluderingsdeltagelse:
SELECT COUNT(t1.table1_id) FROM table1 t1
LEFT OUTER JOIN table2 t2 USING (table1_id)
WHERE t2.table1_id IS NULL
Sørg også for table2.table1_id
har et indeks på sig.