Mysql
 sql >> база данни >  >> RDS >> Mysql

Неефективен план за изпълнение, взет от MySQL InnoDB

MySQL не може да оптимизира IN подзаявката да бъде водеща (изпълнена само веднъж), тя винаги се изпълнява за всеки запис в основната заявка в цикъл.

Заменете го с присъединяване:

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. MySQL Round Robin Select

  2. Как да добавя общ ред в MySQL

  3. Получаване на най-високи резултати в JOIN

  4. Какво означава да избягаш от низ?

  5. Laravel 5.6 withCount и where оператор