Conseils d'utilisation des outils d'analyse du plan d'exécution MySQL

Auteur : Zen et l'art de la programmation informatique

1. Introduction

MySQL est une base de données open source développée sur la base de la version communautaire. MySQL offre de riches capacités de traitement des données, des performances élevées, une expansion dynamique et d'autres avantages. Lorsque nous utilisons MySQL, nous devons passer du temps à analyser le plan d'exécution et trouver une meilleure façon d'exécuter l'instruction de requête SQL afin d'obtenir une meilleure efficacité des requêtes.

Cependant, en raison de la variété des langages d'interrogation des bases de données, le processus d'analyse des plans d'exécution n'est pas seulement une tâche simple. Il implique des opérations logiques complexes, des structures de données, des informations statistiques et d'autres facteurs, de sorte qu'il est facile de commettre des erreurs. Les outils d’analyse ne fournissent souvent que quelques fonctions ou résultats d’analyse simples. Cet article prendra l'outil d'analyse du plan d'exécution du serveur MySQL mysqlshowplan comme exemple pour présenter comment analyser rapidement et efficacement le plan d'exécution et découvrir le problème.

2. Explication des concepts et termes de base

2.1 Plan d'exécution

Le plan d'exécution (Plan d'exécution) fait référence aux informations détaillées lorsque l'instruction de requête est générée sur la base de l'optimiseur MySQL. Il comprend l'optimiseur MySQL sélectionnant le chemin d'accès optimal en fonction de la relation entre les tables, les conditions de requête, les index, etc., et puis en suivant ce plan d'accès.Détails de l'exécution des étapes spécifiques du chemin. Les plans d'exécution peuvent aider les administrateurs de base de données à comprendre rapidement l'état d'exécution des instructions de requête, facilitant ainsi le réglage et l'amélioration des instructions SQL.

2.2 EXPLIQUER

EXPLAIN est une commande permettant d'obtenir le plan d'exécution MySQL. Sa syntaxe est la suivante :

EXPLAIN [extended | no_extended] SELECT statement;

Description du paramètre :

  1. étendu : indique la sortie des informations de toutes les colonnes, l'option par défaut.
  2. no_extended : indique que seules les informations de base telles que le nom de la table et le type de données seront affichées.

Guess you like

Origin blog.csdn.net/universsky2015/article/details/133004463