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

Kinerja MYSQL IN

Mulai dari sejumlah record tertentu, IN predikat di atas SELECT menjadi lebih cepat dari itu pada daftar konstanta.

Lihat artikel ini di blog saya untuk perbandingan kinerja:

Jika kolom yang digunakan dalam kueri di IN klausa diindeks, seperti ini:

SELECT  *
FROM    table1
WHERE   unindexed_column IN
        (
        SELECT  indexed_column
        FROM    table2
        )

, maka kueri ini hanya dioptimalkan ke EXISTS (yang hanya menggunakan satu entri untuk setiap record dari table1 )

Sayangnya, MySQL tidak mampu melakukan HASH SEMI JOIN atau MERGE SEMI JOIN yang lebih efisien (terutama jika kedua kolom diindeks).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengecualian MySQL - Terjadi Kesalahan Fatal Selama Pembacaan Data

  2. Apa yang salah dengan prosedur tersimpan ini?

  3. Lewati parameter ke skrip MySQL

  4. Konversi DateTime dalam format C# ke yyyy-MM-dd dan Simpan ke MySql DateTime Field

  5. Pengantar Perintah SQL