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

Tidak efisien rencana eksekusi yang diambil oleh MySQL InnoDB

MySQL tidak dapat mengoptimalkan IN subquery menjadi yang terdepan (dieksekusi hanya sekali), itu selalu dieksekusi untuk setiap record dalam kueri utama dalam satu lingkaran.

Ganti dengan join:

SELECT ahp.*
FROM   ar_records ar
JOIN   ah_problems ahp
ON     ahp.rnid = ar.rnid
       AND ahp.fieldId IN (5, 6)
WHERE  ar.rnid IN (6022342, 6256614, 5842714, 6302489)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysqli_query() mengharapkan parameter 1 diberikan boolean mysqli

  2. MySQL ALTER TABLE hang

  3. django connect mysql --_mysql_exceptions.OperationalError:(2006, <NULL>)

  4. Escape nama tabel MySQL

  5. Bagaimana cara alias bidang atau kolom di MySQL?