Mysql
 sql >> Base de données >  >> RDS >> Mysql

Index multiples et uniques

Oui, au moins un cas est considérablement plus lent. Si vous ne définissez que l'index suivant :

ALTER TABLE ... ADD INDEX (a, b);

... puis la requête SELECT * FROM ... WHERE B = 1; n'utilisera pas cet index.

Lorsque vous créez un index avec une clé composite, l'ordre des colonnes de la clé est important. Il est recommandé d'essayer d'ordonner les colonnes dans la clé pour améliorer la sélectivité, avec les colonnes les plus sélectives à l'extrême gauche de la clé. Si vous ne le faites pas et placez une colonne non sélective comme première partie de la clé, vous risquez de ne pas utiliser l'index du tout. (Source :Conseils sur l'optimisation de l'index composite SQL Server )