Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Plano de execução não eficiente tomado pelo MySQL InnoDB


MySQL não pode otimizar o IN subconsulta para liderar (executada apenas uma vez), ela sempre é executada para cada registro na consulta principal em um loop.

Substitua-o por uma junção:
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)