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.