Necesitas agrupar para contar por id. Prueba esto.
Código SQL:
Ver originalSELECT t1.ID, t1.DSC, IFNULL(t3.total,0) totalporID FROM tabla1 t1
LEFT JOIN (SELECT t2.tabla1_id ID, COUNT(*) total FROM tabla2 t2 GROUP BY t2.tabla1.id)t3 ON t1.ID = t3.ID
Creo que la lentitud quizás se deba en parte a que no estés indexando los campos que cruzas, es decir, ese tabla1_ID de tabla2