Comme vous pouvez le voir, l'ordre n'est pas du tout le même.
Intérêt des index
Vous devriez avoir compris maintenant que tout l'intérêt des index est d'accélérer les requêtes qui utilisent des colonnes indexées
comme critères de recherche. Par conséquent, si vous savez que dans votre application, vous ferez énormément de recherches
sur la colonne X , ajoutez donc un index sur cette colonne, vous ne vous en porterez que mieux.
Les index permettent aussi d'assurer l'intégrité des données de la base. Pour cela, il existe en fait plusieurs types d'index
différents, et deux types de "clés". Lorsque je parle de garantir l'intégrité de vos données, cela signifie en gros garantir la qualité
de vos données, vous assurer que vos données ont du sens. Par exemple, soyez sûrs que vous ne faites pas référence à un
client dans la table Commande, alors qu'en réalité, ce client n'existe absolument pas dans la table Client.
Désavantages
Si tout ce que fait un index, c'est accélérer les requêtes utilisant des critères de recherche correspondants, autant en mettre
partout, et en profiter à chaque requête ! Sauf qu'évidemment, ce n'est pas si simple, les index ont deux inconvénients.
Ils prennent de la place en mémoire
Ils ralentissent les requêtes d'insertion, modification et suppression, puisqu'à chaque fois, il faut remettre l'index à jour en
plus de la table.
Par conséquent, n'ajoutez pas d'index lorsque ce n'est pas vraiment utile.
Index sur plusieurs colonnes
Reprenons l'exemple d'une table appelée Client, qui reprend les informations des clients d'une société. Elle se présente comme
suit :
id
nom
prenom init_2e_prenom
email
1 Dupont
Charles
T
charles.dupont@email.com
2 François
Damien
V
fdamien@email.com
3 Vandenbush Guillaume A
guillaumevdb@email.com
4 Dupont
Valérie
C
valdup@email.com
5 Dupont
Valérie
G
dupont.valerie@email.com
6 François
Martin
D
mdmartin@email.com
7 Caramou
Arthur
B
leroiarthur@email.com
8 Boulian
Gérard
M
gebou@email.com
9 Loupiot
Laura
F
loulau@email.com
Partie 2 : Index, jointures et sous-requêtes
72/414
www.openclassrooms.com
Intérêt des index
Vous devriez avoir compris maintenant que tout l'intérêt des index est d'accélérer les requêtes qui utilisent des colonnes indexées
comme critères de recherche. Par conséquent, si vous savez que dans votre application, vous ferez énormément de recherches
sur la colonne X , ajoutez donc un index sur cette colonne, vous ne vous en porterez que mieux.
Les index permettent aussi d'assurer l'intégrité des données de la base. Pour cela, il existe en fait plusieurs types d'index
différents, et deux types de "clés". Lorsque je parle de garantir l'intégrité de vos données, cela signifie en gros garantir la qualité
de vos données, vous assurer que vos données ont du sens. Par exemple, soyez sûrs que vous ne faites pas référence à un
client dans la table Commande, alors qu'en réalité, ce client n'existe absolument pas dans la table Client.
Désavantages
Si tout ce que fait un index, c'est accélérer les requêtes utilisant des critères de recherche correspondants, autant en mettre
partout, et en profiter à chaque requête ! Sauf qu'évidemment, ce n'est pas si simple, les index ont deux inconvénients.
Ils prennent de la place en mémoire
Ils ralentissent les requêtes d'insertion, modification et suppression, puisqu'à chaque fois, il faut remettre l'index à jour en
plus de la table.
Par conséquent, n'ajoutez pas d'index lorsque ce n'est pas vraiment utile.
Index sur plusieurs colonnes
Reprenons l'exemple d'une table appelée Client, qui reprend les informations des clients d'une société. Elle se présente comme
suit :
id
nom
prenom init_2e_prenom
1 Dupont
Charles
T
charles.dupont@email.com
2 François
Damien
V
fdamien@email.com
3 Vandenbush Guillaume A
guillaumevdb@email.com
4 Dupont
Valérie
C
valdup@email.com
5 Dupont
Valérie
G
dupont.valerie@email.com
6 François
Martin
D
mdmartin@email.com
7 Caramou
Arthur
B
leroiarthur@email.com
8 Boulian
Gérard
M
gebou@email.com
9 Loupiot
Laura
F
loulau@email.com
Partie 2 : Index, jointures et sous-requêtes
72/414
www.openclassrooms.com
