Question sur MySQL et index - SQL/NoSQL - Programmation
Marsh Posté le 15-08-2002 à 05:45:05
ar2k a écrit a écrit : Bonjour à tous, J?ai une petite question a propos de MySQL et ces index : si j?ai trois champs dans ma table contenant des milliers d?enregistrements. Respectivement, ID pour la clé primaire, Champ1 et Champ2 de type VARCHAR. Un index est crée sur champ1 et la requête suivante est effectué : SELECT champ1, champ2 FROM matable WHERE champ1 = 'str1' AND champ2 = 'str2' ; D'après ce que je crois, MySQL va alors chercher dans l'index un enregistrement contenant un Champ1 qui est égale à str1. Si une correspondance est trouvée, il va mémoriser la position et passer à la deuxième condition grace au AND. Est-ce que MySQL va directement regarder le Champ2 du même enregistrement et répondre ? Ou, va-t-il regarder tous les enregistrements depuis le début de façon séquentielle jusqu'à trouver une correspondance pour faire la deuxième comparaison ? C'est peut-être un peu con comme question, mais aucun livre ou site internet n'a pu y répondre. Merci ar2k |
il va utiliser l'index sur le champ1 et ensuite va faire un scan sequentiel des resultats trouvés par rapport à l'index pour chopper le champ2.
D'où l'interet de mettre un index sur (champ1, champ2)
Marsh Posté le 09-08-2002 à 11:40:35
Bonjour à tous,
J?ai une petite question a propos de MySQL et ces index : si j?ai trois champs dans ma table contenant des milliers d?enregistrements. Respectivement, ID pour la clé primaire, Champ1 et Champ2 de type VARCHAR. Un index est crée sur champ1 et la requête suivante est effectué :
SELECT champ1, champ2 FROM matable WHERE champ1 = 'str1' AND champ2 = 'str2' ;
D'après ce que je crois, MySQL va alors chercher dans l'index un enregistrement contenant un Champ1 qui est égale à str1. Si une correspondance est trouvée, il va mémoriser la position et passer à la deuxième condition grace au AND. Est-ce que MySQL va directement regarder le Champ2 du même enregistrement et répondre ? Ou, va-t-il regarder tous les enregistrements depuis le début de façon séquentielle jusqu'à trouver une correspondance pour faire la deuxième comparaison ?
C'est peut-être un peu con comme question, mais aucun livre ou site internet n'a pu y répondre.
Merci
ar2k