Tous les types de colonnes ed MySQL peuvent être indexés.
        L'utilisation des index sur les colonnes pertinentes est la
        meilleur fa¸on d'améliorer les performances de opérations de
        SELECT.
      
Le nombre maximum de clefs et la longueur maximale des index sont définis pour chaque type de table. See Chapitre 14, Moteurs de tables MySQL et types de table. Vous pouvez avec tous les gestionnaires de tables avoir au moins 16 clefs et une taille totale d'index d'au moins 256 octets.
        Pour les colonnes CHAR et
        VARCHAR, il est possible d'indexer un
        préfixe de la colonne. C'est plus rapide et plus économe en
        espace disque que l'indexation de la colonne entière. La
        syntaxe pour indexer le début d'une colonne au moment de la
        création de la table ressemble à cela: See
        Section 7.4.3, « Index de colonnes ».
      
        Les moteurs de tables MyISAM et (depuis MySQL
        4.0.14) InnoDB supportent aussi l'indexation
        des colonnes BLOB et TEXT.
        Lors de l'indexation d'une colonne BLOB ou
        TEXT, vous devez
        spécifier une taille pour l'index. Par exemple :
      
CREATE TABLE test (blob_col BLOB, INDEX(blob_col(10)));
        Les préfixes peuvent atteindre 255 octets de longeur (ou 1000
        octets pour les tables MyISAM et
        InnoDB depuis MySQL 4.1.2). Notez que les
        limites de préfixes sont mesurées en octets, alors que la
        limite de préfixe dans la commande CREATE
        TABLE est interprétée comme un nombre de
        caractères. Prenez le en compte lorsque vous spécifiez une
        taille de préfixe pour une colonne qui utilise un jeu de
        caractères multi-octets.
      
        Depuis MySQL 3.23.23, vous pouvez aussi créer des index
        FULLTEXT. Ils sont utilisés pour les
        recherches en texte plein. Seules les tables
        MyISAM supportent les index
        FULLTEXT et uniquement pour les colonnes
        CHAR, VARCHAR, et
        TEXT. L'indexation se fait sur toute la
        largeur de la colonne. L'indexation par préfixe n'est pas
        possible. Voyez la section Section 12.6, « Recherche en texte intégral (Full-text) dans MySQL »
        pour plus de détails.
      
        Depuis MySQL 4.1.0, vous pouvez créer des index spatiaux.
        Actuellement, le type de données spatial n'est supporté que
        par les tables MyISAM. Les données spatiales
        utilisent un R-tree.
      
        Le moteur de tables MEMORY
        (HEAP) supporte les index hash. Depuis MySQL
        4.1.0, ce moteur supporte aussi les index
        B-tree.
      
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.

