5.4 Optimisation de la structure de la base de données
5 Optimisation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Conception . Rendre vos tables aussi compactes que possible . Comment MySQL utilise les index ->Index de colonnes . Index sur plusieurs colonnes . Pourquoi tant de tables ouvertes ? . Quand MySQL ouvre et ferme les tables . Inconvénients de la création d'un grand nombre de tables dans la même base de données
|
5.4.4 Index de colonnes
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. Types de tables MySQL . 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:
KEY nom_de_l_index (nom_de_la_colonne(longueur))
|
L'exemple suivant crée un index sur les 10 premiers caractères de la colonne
nom
:
mysql> CREATE TABLE test ( -> nom CHAR(200) NOT NULL, -> KEY index_du_nom (nom(10)));
|
Pour les colonnes
BLOB
et
TEXT
, vous devez indexer le début de la colonne.
Vous ne pouvez pas indexer une colonne entière.Dans les versions 3.23.23 et supérieures de MySQL, vous pouvez aussi créer les index spéciaux
FULLTEXT
. Ils sont utilisé pour les recherches sur les textes en entier. Seules les
tables de type
MyISAM
supportent les index
FULLTEXT
. Il peuvent être
créés depuis des colonnes
CHAR
,
VARCHAR
et
TEXT
. L'indexation se fait
toujours par rapport à la colonne en entier, et l'indexation partielle n'est pas supportée.
Voir Recherche full-text avec MySQL pour plus d'informations.
|