Maison > base de données > tutoriel mysql > le corps du texte

Comment une instruction de requête SQL est-elle exécutée ?

coldplay.xixi
Libérer: 2020-07-01 17:54:40
avant
2140 Les gens l'ont consulté

Comment une instruction de requête SQL est-elle exécutée ?

Comment une instruction de requête SQL est-elle exécutée ?

Quelles parties contient MySQL ?

  1. Connecteur : connexion de gestion, vérification des autorisations.
  2. Analyseur : analyse lexicale, analyse syntaxique.
  3. Optimiseur : génération de plan d'exécution, sélection d'index.
  4. Exécuteur : exploite le moteur de stockage et renvoie les résultats.
  5. Moteur de stockage : stocke les données et fournit des interfaces de lecture et d'écriture.

Recommandations d'apprentissage associées : Tutoriel vidéo MySQL

Connecteur

Dans un premier temps, nous allons d'abord nous connecter à la base de données MySQL, et cette fois nous connecterons le connecteur. Le connecteur est chargé d'établir une connexion avec le client, d'obtenir les autorisations, de maintenir et de gérer la connexion.

mysql -h $ip -u root -p
Copier après la connexion

Cache de requêtes

Après avoir établi la connexion, nous pouvons utiliser l'instruction SELECT, et la logique d'exécution passera à la deuxième étape : le cache de requêtes. MySQL va maintenant interroger le cache pour voir si cette instruction a déjà été exécutée et, si c'est le cas, la renvoyer directement. Ce module a été supprimé depuis MySQL 8.0.

Analyzer

S'il n'y a pas de cache de requêtes, à partir de là, MySQL commencera à analyser ce que nous voulons faire, et il doit analyser les instructions SQL que nous écrivons. L'analyseur effectuera d'abord une analyse lexicale pour identifier la chaîne et ce qu'elle représente. Effectuez ensuite une analyse syntaxique pour déterminer s'il y a des erreurs dans les instructions SQL que nous avons écrites. S'il y a des erreurs, une erreur sera générée.

Optimiseur

Après avoir passé l'analyseur, MySQL sait ce que vous voulez faire. À ce moment, l'optimiseur décidera quelle solution utiliser en fonction de la structure de la table et. objectif de la déclaration.

Exécuteur

MySQL sait ce que nous voulons faire grâce à l'analyseur et sait comment le faire le plus efficacement possible grâce à l'optimiseur. Ensuite, vous pouvez entrer dans l'exécuteur et exécuter réellement l'instruction SQL.

select * from users where name = ‘operator'
Copier après la connexion

En supposant qu'il n'y a pas d'index sur le champ nom dans la table des utilisateurs, alors l'exécuteur appelle l'interface du moteur InnoDB pour obtenir la première ligne et détermine si le nom est égal à l'opérateur. Sinon, ignorez-le. Si c'est le cas, mettez-le dans le résultat concentré. Appelez ensuite l'interface du moteur pour récupérer la ligne suivante et répétez le même jugement logique jusqu'à ce que la dernière ligne du tableau soit récupérée. Enfin, le jeu de résultats est renvoyé au client.                                                                                                        

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal