STRAIGHT_JOIN
memaksa urutan gabungan tabel, jadi table1
dipindai di loop luar dan table2
di lingkaran dalam.
Pengoptimalnya tidak sempurna (meskipun masih cukup baik), dan penyebab yang paling mungkin adalah statistik yang sudah ketinggalan zaman.
Tidak, hanya jika pengoptimal salah. Ini mungkin terjadi jika distribusi data Anda sangat miring atau tidak dapat dihitung dengan benar (misalnya, untuk indeks spasial atau teks lengkap).
Anda harus mengumpulkan statistik, menyusun rencana untuk kedua arah, dan memahami apa arti rencana ini.
Jika Anda melihat bahwa:
-
Rencana yang dibuat secara otomatis tidak optimal dan tidak dapat ditingkatkan dengan cara standar,
-
STRAIGHT_JOIN
versi lebih baik, Anda akan selalu mengerti dan mengerti mengapa akan selalu
, lalu gunakan STRAIGHT_JOIN
.