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

Apakah tabel MySQL yang sangat kecil mengabaikan indeks?

NOT IN ( SELECT ... ) dioptimalkan dengan sangat buruk, terutama di versi lama.

Ubah ke ini:

SELECT  abc.*
    FROM  abc
    LEFT JOIN  zyx  ON zyx.abc_id = abc.id
    WHERE  zyx.abc_id IS NULL;
AND  zyx.id = 12345 ;

Untuk zyx, gunakan INDEX(id, abc_id) atau INDEX(abc_id, id)

Jika zyx.id adalah PRIMARY KEY , kueri Anda tidak masuk akal -- mengapa menguji satu baris (12345)?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara termudah untuk mengimpor tabel baru ke MySQL v5 dari CSV?

  2. MySQL Spatial CONTAINS menunjukkan hasil yang salah

  3. Kesalahan SQL:1064, SQLState:42000 saat membuat entitas baru

  4. Bagaimana cara mendapatkan struktur tabel MySQL di PHP? Ditambah daftar semua tabel?

  5. Cara mendapatkan MySQL ResultSet baris demi baris dengan python