Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
772 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question sur MySQL et index

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question sur MySQL et index

n°192804
ar2k
Posté le 09-08-2002 à 11:40:35  profilanswer
 

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

mood
Publicité
Posté le 09-08-2002 à 11:40:35  profilanswer
 

n°195606
joce
Architecte / Développeur principal
"BugHunter"
Posté le 15-08-2002 à 05:45:05  profilanswer
 

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)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question sur MySQL et index

 

Sujets relatifs
[PHP]prob mysqlcherche tutorial pour exploter mysql
problème de comptage avec mysql... (résolu)débutant question a 0.5?
[java] Est il possible avec JBuilder perso de se connecter à MySQL ?[MYSQL] différence entre les differents sortes de tables
requete ok dans mysql mais pas en php........(résolu)je savai pas ou poser cette question, donc voila....
[MYSQL] sauvegarde?renseigner un champ de type date dans mysql ........(résolu)
Plus de sujets relatifs à : Question sur MySQL et index


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR