Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les INDEX...

Qu'est ce que ça peut bien être ?

Sujet résolu
    21 mai 2011 à 14:58:53

    Salut à tous !

    Est-ce que quelqu'un aurait un lien (ou quelques explications) à me fournir afin d'en apprendre plus sur les INDEX d'une bdd, leurs propriétés, leurs avantages, leurs inconvénients, quand et comment les utiliser, etc... ?
    Je ne crois pas que le SDZ traite la question et je ne trouve rien de bien parlant sur Google.

    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2011 à 20:26:42

      Quand tu cherches un mot dans le dictionnaire, quel est le plus rapide :

      - lire le dictionnaire en entier ?
      - ou remarquer qu'il est indexé par ordre alphabétique ?
      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2011 à 15:54:52

        Salut ! Merci pour le lien et l'énigme :)
        Évidemment c'est plus simple de consulter un dictionnaire par ordre alphabétique, mais quand j'effectue des requêtes je ne demande jamais à lire l'intégralité de la table. La plupart du temps je fais des recherches de type WHERE id = $id.
        Ce que je n'arrive pas vraiment à comprendre (même après avoir lu l'article posté ci-dessus) c'est les différences entre PRIMARY, UNIQUE, INDEX et FULLTEXT et leur influence sur mes requêtes.
        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2011 à 15:59:19

          Je viens de sortir un chapitre sur les index dans la partie beta-test de mon tutoriel. Normalement tout y est expliqué, j'espère que ça t'aidera. N'hésite pas à commenter sur le sujet de ma beta si y a des trucs qui sont pas clairs, ou si tu voudrais des explications supplémentaires sur tel ou tel point. Ca m'aidera à parfaire mon tuto :)

          Y a sûrement encore des fautes d'orthographes, sorry pour ça, j'ai relu deux-trois fois mais bon...

          http://www.siteduzero.com/forum-83-609 [...] ec-mysql.html
          • Partager sur Facebook
          • Partager sur Twitter
            22 mai 2011 à 21:55:56

            Citation : Mr_SATAN

            mais quand j'effectue des requêtes je ne demande jamais à lire l'intégralité de la table. La plupart du temps je fais des recherches de type WHERE id = $id.



            Qu'est-ce que tu penses que ton SGBDR fait lorsque tu lui demandes une telle requête ? Comment fait-il pour savoir si la ligne que tu recherches est la première, la dernière ou quelque part entre les deux ? Comment fait-il pour savoir qu'il n'y a qu'une seule ligne à trouver, ou plusieurs ?

            C'est les index qui aident à optimiser les performances. Il permet de classer, en quelque sorte, les tables pour pouvoir aller recueillir l'information le plus rapidement possible. Quand tu fais une requête du genre WHERE id = ?, ton SGBDR parcourt l'index pour pouvoir trouver la ou les lignes qui correspondent.

            C'est pour ça que Lord Casque Noir te parle de dictionnaire. Imagine que tu as un sac qui contient tous les mots du dictionnaire et que je te demande de trouver le mot "système". Tu sais que chaque mot se retrouve une seule fois, cela veut dire que dès que tu tombes dessus, tu peux t'arrêter de chercher. Par contre, tu vas devoir piger chaque mot dans le sac jusqu'à ce que tu tombes dessus. Ça peut être très long.
            Le dictionnaire agit donc comme un index. Il classe les mots par ordre alphabétique. Maintenant, quand je te demande d'aller chercher le mot, pas besoin de tous les regarder. Tu vas directement aux mots qui commencent par "s", et tu trouves le mot.
            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2011 à 23:59:54

              Merci pour tes explications Fayden :) Je commence à comprendre l'intérêt des Index, donc je vais sérieusement me pencher sur la question.
              Taguan, ton tuto tombe à pique et il a l'air très détaillé ! Je prendrai le temps de le lire attentivement et je laisserai un commentaire :)
              • Partager sur Facebook
              • Partager sur Twitter
                25 mai 2011 à 17:24:06

                Merci pour votre aide :) J'ai bien étudié la question et je comprends bien mieux le sujet ! En fait je les utilisais déjà correctement sans vraiment savoir pourquoi je le faisais :p

                Je marque le topic comme Résolu !
                • Partager sur Facebook
                • Partager sur Twitter

                Les INDEX...

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown