Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa STRAIGHT_JOIN meningkatkan kueri ini secara drastis, dan apa artinya jika ditulis setelah kata kunci SELECT?

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:

  1. Rencana yang dibuat secara otomatis tidak optimal dan tidak dapat ditingkatkan dengan cara standar,

  2. STRAIGHT_JOIN versi lebih baik, Anda akan selalu mengerti dan mengerti mengapa akan selalu

, lalu gunakan STRAIGHT_JOIN .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa memasukkan file besar di MySQL db menggunakan PHP?

  2. Menggunakan variabel dalam Klausa WHERE

  3. PHP mengonversi datetime ke detik

  4. Bagaimana cara menggunakan variabel Mysql dengan Hibernate?

  5. MYSQL INNER JOIN dengan kemungkinan bidang kosong