Når du bruger "eksisterer ikke" eller "ikke i" i din SQL-forespørgsel, lader du Oracle vælge flette-anti-sammenføjnings- eller hash-anti-sammenføjningsadgangsstier.
Hurtig forklaring
For eksempel, givet join mellem tabel A og B (fra A join B på A.x =B.x) vil Oracle hente alle relevante data fra tabel A og forsøge at matche dem med tilsvarende rækker i tabel B, så det er strengt afhængigt af tabellens selektivitet Et prædikat.
Når du bruger anti-sammenføjningsoptimering, kan Oracle vælge tabellen med højere selektivitet og matche den med den anden, hvilket kan resultere i meget hurtigere kode.
Det kan den ikke med almindelig join- eller underforespørgsel, fordi den ikke kan antage, at ét match mellem tabel A og B er nok til at returnere den række.
Relaterede tip: HASH_AJ, MERGE_AJ.
Mere:
Dette ligner en fin og detaljeret artikel om emnet.
Her er en anden, mere klam artikel.