SQL
EXPLIQUEZ et DÉCRIVEZ
Recherche…
DESCRIBE nom_table;
DESCRIBE
et EXPLAIN
sont des synonymes. DESCRIBE
sur un nom de table renvoie la définition des colonnes.
DESCRIBE tablename;
Résultat maximum:
COLUMN_NAME COLUMN_TYPE IS_NULLABLE COLUMN_KEY COLUMN_DEFAULT EXTRA
id int(11) NO PRI 0 auto_increment
test varchar(255) YES (null)
Vous voyez ici les noms de colonnes, suivis du type de colonnes. Il indique si null
est autorisé dans la colonne et si la colonne utilise un index. la valeur par défaut est également affichée et si la table contient un comportement spécial tel qu'un auto_increment
.
EXPLIQUEZ Sélectionnez la requête
Un Explain
face d'une requête select
vous montre comment la requête sera exécutée. De cette façon, vous pouvez voir si la requête utilise un index ou si vous pouvez optimiser votre requête en ajoutant un index.
Exemple de requête:
explain select * from user join data on user.test = data.fk_user;
Exemple de résultat:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
sur le type
vous voyez si un index a été utilisé. Dans la colonne possible_keys
vous voyez si le plan d'exécution peut choisir parmi différents index s'il n'en existe pas. key
vous indique l’indice d’usage utilisé. key_len
vous montre la taille en octets pour un élément d'index. Plus cette valeur est faible, plus il y a d'éléments d'index dans la même taille de mémoire et ils peuvent être traités plus rapidement. rows
indique le nombre de lignes que la requête doit analyser, le plus bas possible.