Si j'écris cette requête,index MySQL ne contribue pas à IN
EXPLAIN SELECT * FROM `smth` WHERE d_id = 9
il vérifie une ligne instantanément. Mais quand j'utilise IN
, par exemple
EXPLAIN SELECT * FROM `smth` WHERE d_id IN (9, 3)
il vérifie toutes les lignes. Que devrais-je faire au lieu de IN si l'index n'y aide pas?
oui je suis très curieux de connaître la réponse aussi –
Pourquoi penses-tu qu'elle vérifie toutes les lignes? Pouvez-vous poster la sortie des SELECT EXPLAIN? –
Peut-être d'intérêt: http://stackoverflow.com/questions/586381/mysql-not-using-indexes-with-where-in-clause – Fionnuala