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

SQL fixed-value IN() vs. INNER JOIN performance

Ini terkait dengan panjang klausa IN - dan terkadang disebut BUG di MySQL.

MySQL tampaknya memiliki ambang batas yang rendah untuk klausa IN, ketika akan bertukar ke TABLE/INDEX SCAN daripada mengumpulkan beberapa partisi (satu per item IN) dan menggabungkannya.

Dengan INNER JOIN, hampir selalu dipaksa untuk menggunakan baris demi baris langsung dalam koleksi JOIN, itulah sebabnya terkadang lebih cepat

Lihat halaman manual MySQL ini

Saya bisa saja salah karena sepertinya menyiratkan bahwa IN (constant value list) harus selalu menggunakan pencarian biner pada setiap item...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. di mana kesalahan dalam kode sql saya?

  2. Bagaimana cara mengubah karakter aneh ini? (ë, , , , )

  3. Perbedaan antara utf8 dan latin1

  4. Halaman 'Pencarian Lanjutan' Php/ MySql

  5. Bisakah Hibernate bekerja dengan sintaks ON DUPLICATE KEY UPDATE MySQL?