Saat Anda menggunakan "tidak ada" atau "tidak ada" dalam kueri SQL, Anda membiarkan Oracle memilih jalur akses gabungan anti-gabung atau hash anti-gabung.
Penjelasan Singkat
Misalnya, diberikan join antara tabel A dan B (dari A gabung B pada A.x =B.x) Oracle akan mengambil semua data yang relevan dari tabel A, dan mencoba mencocokkannya dengan baris yang sesuai di tabel B, jadi sangat bergantung pada selektivitas tabel Sebuah predikat.
Saat menggunakan optimasi anti-join, Oracle dapat memilih tabel dengan selektivitas yang lebih tinggi dan mencocokkannya dengan tabel lainnya, yang dapat menghasilkan kode yang jauh lebih cepat.
Ia tidak dapat melakukannya dengan join atau subquery biasa, karena ia tidak dapat mengasumsikan bahwa satu kecocokan antara tabel A dan B cukup untuk mengembalikan baris tersebut.
Petunjuk terkait: HASH_AJ, MERGE_AJ.
Lainnya:
Ini sepertinya artikel yang bagus dan mendetail tentang masalah ini.
Di sini adalah artikel lain yang lebih menarik.