Karena ini merampas kesempatan pengoptimal untuk mempertimbangkan metode lain yang bisa lebih efisien.
Saat distribusi data (di mana pengoptimal membuat keputusannya) sangat miring dan statistik tidak dapat merepresentasikannya dengan benar.
Ini adalah algoritma yang berbeda.
-
LOOP
adalah loop bersarang:untuk setiap record dari tabel luar, tabel dalam dicari kecocokan (menggunakan indeks yang tersedia). Tercepat ketika hanya sebagian kecil dari catatan dari kedua tabel memenuhiJOIN
danWHERE
kondisi. -
MERGE
mengurutkan kedua tabel melintasinya dalam urutan pengurutan, melewatkan catatan yang tidak cocok. Tercepat untukFULL JOIN
s dan ketika kedua kumpulan rekaman sudah diurutkan (dari operasi pengurutan sebelumnya atau saat jalur akses indeks digunakan) -
HASH
buat tabel hash di penyimpanan sementara (memori atautempdb
) dari salah satu tabel dan mencarinya untuk setiap record dari tabel lainnya. Tercepat jika sebagian besar record dari salah satu tabel cocok denganWHERE
danJOIN
kondisi.