MySQL peut créer des index sur plusieurs colonnes. Un index
        peut comprendre jusqu'à 15 colonnes. (sur les colonnes de type
        CHAR ou VARCHAR, vous
        pouvez utiliser uniquement le début de la colonne pour
        l'indexation.) (see Section 7.4.3, « Index de colonnes »).
      
Un index sur plusieurs colonnes peut être compris comme un tableau trié contenant des valeurs créées par concaténation des valeurs des colonnes indexées.
        MySQL utilise les index sur plusieurs colonnes de telle sorte
        que les requêtes sont accélérées quand on spécifie une
        quantité connue de la première colonne de l'index dans un
        clause WHERE, même si on ne spécifie pas la
        valeur des autres colonnes.
      
On suppose qu'une table est créée avec les paramètres suivant:
mysql>CREATE TABLE test (->id INT NOT NULL,->nom CHAR(30) NOT NULL,->prenom CHAR(30) NOT NULL,->PRIMARY KEY (id),->INDEX nom_index (nom,prenom));
        Alors l'index nom_index est un index de
        nom et de prenom. Cela
        sera utile pour les requêtes qui spécifient des valeurs dans
        une gamme donnée de nom, ou pour à la fois
        nom et prenom. Ainsi
        l'index nom_index sera utilisé pour les
        requêtes suivantes:
      
mysql>SELECT * FROM test WHERE nom="Widenius";mysql>SELECT * FROM test WHERE nom="Widenius"->AND prenom="Michael";mysql>SELECT * FROM test WHERE nom="Widenius"->AND (prenom="Michael" OR prenom="Monty");mysql>SELECT * FROM test WHERE nom="Widenius"->AND prenom >="M" AND prenom < "N";
        Cependant, l'index nom_index ne
        sera pas utilisé pour les requêtes suivantes :
      
mysql>SELECT * FROM test WHERE prenom="Michael";mysql>SELECT * FROM test WHERE nom="Widenius"->OR prenom="Michael";
Pour plus d'informations sur la méthode de MySQL pour utiliser les index dans le but d'améliorer les performance des requêtes, voyez la section suivante.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

