Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kế hoạch thực thi không hiệu quả do MySQL InnoDB thực hiện

MySQL không thể tối ưu hóa IN truy vấn con đứng đầu (chỉ được thực thi một lần), nó luôn được thực thi cho mỗi bản ghi trong truy vấn chính trong một vòng lặp.

Thay thế nó bằng một phép nối:

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. cách sử dụng mysql_data_seek với PDO?

  2. thiết lập các cổng mamp thành 80 và 3306

  3. Ứng dụng bị đóng băng khi cơ sở dữ liệu được gọi

  4. Tại sao tôi không nên sử dụng các hàm mysql_ * trong PHP?

  5. Làm cách nào để thay đổi kiểu dữ liệu cho một cột trong MySQL?