Es lento porque tienes subquerys dentro de subquerys dentro de subquerys.
Eso lo quitas usando OUTER JOINS, aunque el código es un poco más difícil de leer.
Documéntate sobre como usar OUTER JOINs, si tienes alguna duda en particular no dudes en preguntar. Como tip te dejo esto:
Código:
SELECT * --todos los que existen en t1 y no en t2
FROM tabla1 t1
LEFT OUTER JOIN tabla2 t2
ON t1.campo1 = t2.campo1
AND t1.campo2 = t2.campo2
AND t1.campo3 = t2.campo3
AND t2.campo4 IS NULL