Cuando usa "no existe" o "no está en" en su consulta SQL, permite que Oracle elija fusionar rutas de acceso anti-unión o hash anti-unión.
Explicación rápida
Por ejemplo, dada la unión entre la tabla A y B (desde A, unión B en A.x =B.x), Oracle obtendrá todos los datos relevantes de la tabla A e intentará unirlos con las filas correspondientes en la tabla B, por lo que depende estrictamente de la selectividad de la tabla. Un predicado.
Al utilizar la optimización anti-unión, Oracle puede elegir la tabla con mayor selectividad y combinarla con la otra, lo que puede resultar en un código mucho más rápido.
No puede hacer eso con una combinación o subconsulta regular, porque no puede asumir que una coincidencia entre las tablas A y B es suficiente para devolver esa fila.
Consejos relacionados: HASH_AJ, MERGE_AJ.
Más:
Esto parece un artículo agradable y detallado sobre el tema.
Aquí es otro artículo más decente.