Question sur MySQL et index

Question sur MySQL et index - SQL/NoSQL - Programmation

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. :D
 
Merci
 
ar2k

Reply

Marsh Posté le 09-08-2002 à 11:40:35   

Reply

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. :D
 
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)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed