Mysql
 sql >> Database >  >> RDS >> Mysql

L'utilizzo di IN con una sottoquery non utilizza l'indice

Puoi vedere le risposte a questa domanda Farai belle idee.

Sto citando alcune risposte

In breve, prova a forzare l'indice:

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));

Oppure usa JOIN e guarda la spiegazione

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;