Quando você usa "não existe" ou "não está" em sua consulta SQL, você permite que o Oracle escolha caminhos de acesso anti-junção de mesclagem ou anti-associação de hash.
Explicação rápida
Por exemplo, dada a junção entre a tabela A e B (de A junção B em A.x =B.x) o Oracle buscará todos os dados relevantes da tabela A e tentará combiná-los com as linhas correspondentes na tabela B, portanto, depende estritamente da seletividade da tabela Um predicado.
Ao usar a otimização anti-join, o Oracle pode escolher a tabela com maior seletividade e combiná-la com a outra, o que pode resultar em um código muito mais rápido.
Ele não pode fazer isso com junção ou subconsulta regular, porque não pode assumir que uma correspondência entre as tabelas A e B é suficiente para retornar essa linha.
Dicas relacionadas: HASH_AJ, MERGE_AJ.
Mais:
Isso parece um artigo bom e detalhado sobre o assunto.
Aqui é outro artigo mais decente.