Expliquez la sortie du mot-clé pour la requête sélectionnée:
Lorsque le mot clé Explication est exécuté avec une instruction SELECT, la sortie de l'explication renvoie les colonnes suivantes.
Colonne | Description |
identifiant | Il indique l'identifiant de la requête. Il représente le nombre séquentiel de requêtes sélectionnées. |
sélectionner le genre | Il indique le type de requête sélectionnée. Le type peut être simple, primaire, sous-requête, union, etc. |
tableau | Il indique le nom de la table utilisé dans la requête. |
partitions | Il indique les partitions du tableau partitionné examiné. |
taper | Il indique le type de jointure ou le type d'accès des tables. |
possible_keys | Il indique les touches qui peuvent être utilisées par MySQL pour trouver des lignes de la table. |
clé | Il indique l'index utilisé par MySQL. |
key_len | Il indique la longueur de l'index qui sera utilisé par l'optimiseur de requête. |
référence | Il indique les colonnes ou les constantes qui sont comparées à l'indice nommé dans la colonne de clé |
Lignes | Il indique les listes de dossiers qui ont été examinés. |
filtré | Il indique le pourcentage estimé de lignes de table qui seront filtrées par la condition. |
supplémentaire | Il indique les informations supplémentaires concernant le plan d'exécution de la requête. |
Supposons que vous ayez deux tables connexes nommées clients et ordres Dans la base de données nommée entreprise. Les instructions SQL nécessaires pour créer la base de données et les tables avec des données sont données ci-dessous.
Créer une entreprise de base de données;Exécutez l'instruction suivante pour voir la liste d'enregistrements actuelle de clients tableau.
Sélectionner * parmi les clients;Exécutez l'instruction suivante pour voir la liste d'enregistrements actuelle de ordres tableau.
Sélectionner * dans les ordres;Utilisation d'une déclaration d'explication simple:
L'instruction SQL suivante renverra le mot-clé de l'instruction Expliquez d'une question de sélection simple qui récupère tous les enregistrements de la table des clients.
Expliquez SELECT * dans les clients \ g;La sortie suivante apparaîtra après avoir exécuté l'instruction. Il s'agit d'une requête de table unique et pas de clauses spéciales comme JOIN, UNION, etc. sont utilisés dans la requête. Pour cela, la valeur de sélectionner le genre est SIMPLE. Le tableau des clients ne contient que trois enregistrements, c'est pourquoi la valeur de Lignes est 3. La valeur du filtré est à 100% car tous les enregistrements du tableau sont récupérés.
Utilisation de l'explication dans la requête sélectionnée avec join:
L'instruction Explication suivante est appliquée dans une requête sélectionnée de deux tables avec la clause de jointure et une condition où.
Expliquer certains clients.nom, commandes.ORDER_DATE, ORDERS.montantLa sortie suivante apparaîtra après avoir exécuté l'instruction. Ici, sélectionner le genre est simple pour les deux tables. Deux tables sont liées par une relation un-à-plusieurs. La clé primaire de clients La table est utilisée comme une clé étrangère de ordres tableau. Pour cela, la valeur de possible_keys pour la deuxième ligne est N ° de client. La valeur filtrée est 33% pour clients table parce que 'Johnathan' est la première entrée de ce tableau et pas besoin de rechercher davantage. La valeur filtrée de ordres la table est 100% En raison de toutes les valeurs de ordres Tableau requis pour vérifier pour récupérer les données.
Il y a un avertissement dans la sortie de l'instruction ci-dessus. L'instruction suivante est utilisée pour voir la requête exécutée après avoir apporté toute modification par l'optimiseur de requête ou vérifier la raison de l'erreur si une erreur se produit après l'exécution de la requête.
Montrer les avertissements \ gIl n'y a aucune erreur dans la requête. La sortie montre la requête modifiée qui est exécutée.
Utilisation d'expliquez pour découvrir l'erreur de sélection de la requête:
La requête sélectionnée utilisée dans l'instruction Explication suivante contient une erreur. Le format de date pris en charge par MySQL est 'Yyyy-mm-dd'. Mais dans la condition où cette requête, la valeur de date est donnée comme 'Dd-mm-yyy' C'est faux.
Expliquer certains clients.nom, commandes.ORDER_DATE, ORDERS.montantLa sortie suivante sera apparue après avoir exécuté l'instruction. Il montrera deux avertissements. L'un est la valeur par défaut qui est expliquée dans l'exemple précédent et une autre concerne l'erreur de date mentionnée précédemment.
Exécutez l'instruction pour voir l'erreur.
Montrer les avertissements \ gLa sortie affiche clairement l'erreur avec un message d'erreur et un nom de colonne.
Utilisation de l'explication dans une requête sélectionnée avec Union All Operator:
Union All Operator est utilisé dans la requête sélectionnée pour récupérer toutes les valeurs de colonne correspondantes avec des doublons dans les tables connexes. L'instruction suivante affichera la sortie Expliquez de l'application de l'opérateur de l'Union entre clients et ordres les tables.
Expliquez l'identifiant de sélection comme IDLa sortie suivante apparaîtra après avoir exécuté l'instruction. Ici, la valeur de sélectionner le genre est SYNDICAT pour la deuxième ligne de la sortie et la valeur de Supplémentaire est l'index.
Conclusion:
Les utilisations très simples de l'énoncé Explication sont affichées dans cet article. Mais cette déclaration peut être utilisée pour résoudre divers problèmes de base de données compliqués et optimiser la base de données pour de meilleures performances.