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.
-
LOOPadalah 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 memenuhiJOINdanWHEREkondisi. -
MERGEmengurutkan kedua tabel melintasinya dalam urutan pengurutan, melewatkan catatan yang tidak cocok. Tercepat untukFULL JOINs dan ketika kedua kumpulan rekaman sudah diurutkan (dari operasi pengurutan sebelumnya atau saat jalur akses indeks digunakan) -
HASHbuat 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 denganWHEREdanJOINkondisi.