Pour autant que je sache, mysql n'utilise pas index si vous utilisez des requêtes IN (1, 2 ... n). Ai-je tort? Ou y at-il quelque chose que je pourrais faire pour que mysql l'utilise? Je ne parle pas d'optimisation de la sous-requête IN() car cela est clairement expliqué dans le manuel.Optimisation de requête IN (1, 2 ... n)
Exemple (en supposant qu'il existe un index sur tous les champs, nommé index_abc):
WHERE a = 1 AND b = 2 AND c = 3
- il utilise index_abc
WHERE a = 2 AND b IN (2, 4, 5) AND C = 3
- il ne
Merci d'avance pour votre aide .
EXPLAIN est votre ami: http://dev.mysql.com/doc/refman/5.0/fr/explain.html –
Si je n'ai pas utilisé expliquer, comment pourrais-je écrire en toute confiance sur les situations où il utilise des index et quand ça ne marche pas ... D'apprendre le manuel par cœur? Ne sois pas stupide. La logique est aussi ton ami. – shazarre
Pouvez-vous poster les résultats de l'EXPLAIN pour les deux requêtes pour toute personne intéressée. –