Lorsque l'on fait une condition sur une colonne (dans une clause WHERE ou pour une condition de jointure), ce n'est pas parce
qu'il existe un index sur celle-ci qu'il sera utilisé par la requête. En particulier, si la colonne est utilisée dans une expression, l'index
ne sera pas utilisé, car la valeur de l'expression devra être calculée pour chaque ligne.
Selon la manière d'écrire une condition donc, l'utilisation des index sera possible, ou non. Lorsqu'on hésite entre plusieurs
écritures, utiliser EXPLAIN peut permettre d'utiliser la requête la plus performante.
Exemple
Code : SQL
EXPLAIN SELECT *
FROM VM_Revenus_annee_espece
WHERE somme/2 > 1000 \G
EXPLAIN SELECT *
FROM VM_Revenus_annee_espece
WHERE somme > 1000*2 \G
Ces deux requêtes SELECT produisent un résultat équivalent, mais la première empêche l'utilisation de l'index sur somme,
contrairement à la deuxième.
Code : SQL
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: VM_Revenus_annee_espece
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 16
Extra: Using where
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: VM_Revenus_annee_espece
type: range
possible_keys: somme
key: somme
key_len: 14
ref: NULL
rows: 2
Extra: Using where
En résumé
Les commandes SHOW permettent d'afficher une liste des structures choisies, ainsi qu'un certain nombre d'informations
sur celles-ci.
Il est possible de restreindre les résultats de certaines commandes SHOW avec les clauses LIKE et WHERE.
Avec SHOW CREATE, on peut afficher la requête de création d'un objet.
La base de données information_schema contient toutes les informations sur les objets des bases de données du
serveur.
La commande EXPLAIN, qui s'utilise devant un SELECT, décortique les étapes de la requête, ce qui permet d'optimiser
celle-ci. Soit en ajoutant un index, soit en changeant la manière dont les conditions sont écrites.
Partie 7 : Gestion des utilisateurs et configuration du serveur
402/414
www.openclassrooms.com
Précédent

- 402/413

Suivant