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

Usar IN com uma subconsulta não usa índice


Você pode ver as respostas para esta pergunta Você vai multar idéias.

estou citando algumas respostas

Resumidamente, tente forçar o índice:
SELECT *
FROM mapping_channel_fqdn_virtual_host FORCE INDEX (name of the index you want to use)
WHERE (mapping_channel_fqdn_virtual_host.id IN (1,2,3,4,5,6,7,8,9,10));

Ou use JOIN e veja a explicação
SELECT * FROM mapping_channel_fqdn_virtual_host mcf
JOIN (select max(id) as ids from mapping_channel_fqdn_virtual_host group by channel_id, fqdn_virtual_host_id)) AS mcfv 
ON mcf.id = mcfv.ids;