1. Composants de Mysql
Mysql comprend une interface SQL, un analyseur, un optimiseur, un cache et un moteur de stockage.
2. Diagramme du principe de fonctionnement de Mysql
3. Description de chaque composant du diagramme schématique de Mysql
3-1 : les connecteurs
interagissent avec les instructions SQL dans d'autres langages de programmation, tels que php, java, etc.
3-2 : Services et utilitaires de gestion
Outils de gestion et de contrôle du système
3-3, Pool de connexions (Pool de connexions)
Gérer les utilisateurs du tampon Connexion, traitement des threads et autres exigences nécessitant une mise en cache
3-4. Interface SQL (interface SQL)
Accepte la commande SQL de l'utilisateur et renvoie les résultats que l'utilisateur doit interroger. Par exemple, sélectionner parmi consiste à appeler l'interface SQL
3-5, Parser (analyseur)
Lorsque la commande SQL est transmise à l'analyseur, elle sera vérifiée et analysée par l'analyseur.
Principales fonctions de l'analyseur :
a. Décomposer l'instruction SQL en une structure de données et transmettre cette structure aux étapes suivantes. La transmission et le traitement ultérieurs des instructions SQL sont basés sur cette structure<.>
b. Si une erreur est rencontrée lors de la décomposition, cela signifie que l'instruction SQL est déraisonnable et que l'instruction ne continuera pas à être exécutée Optimiseur (optimiseur de requête)L'instruction SQL utilisera l'optimiseur de requête pour optimiser la requête avant l'interrogation (générant plusieurs plans d'exécution, et enfin la base de données choisira le plan le plus optimisé à exécuter et renverra les résultats dès que possible). Il utilise "select- stratégie de projection" -Join" pour les requêtes.
Vous pouvez le comprendre avec un exemple : select uid,name from user Where Gender = 1 ;
Cette requête de sélection sélectionne d'abord en fonction de l'instruction Where, au lieu d'interroger d'abord toutes les tables. Effectuer un filtrage par sexe
Cette requête de sélection effectue d'abord une projection d'attributs basée sur l'uid et le nom, au lieu de supprimer tous les attributs, puis de filtrer
Connectez ces deux conditions de requête pour générer le résultat final de la requête <.>
3-7. Cache et tampon (cache de requêtes) Si le cache de requêtes a un résultat de requête positif, l'instruction de requête peut récupérer directement les données du cache de requêtes. Ce mécanisme de mise en cache est composé d'une série de petits caches. Par exemple, le cache de table, le cache d'enregistrement, le cache de clé, le cache d'autorisation, etc.3-8 Moteur (moteur de stockage)Le moteur de stockage est le sous-système spécifique de MySql qui s'occupe de. fichiers, et MySQL est également l'un des endroits les plus uniques. Le moteur de stockage de MySQL est un plug-in. Il personnalise un mécanisme d'accès aux fichiers basé sur une interface abstraite de la couche d'accès aux fichiers fournie par MySql AB (ce mécanisme d'accès est appelé moteur de stockage).4. Processus d'exécution des instructions SQL
La base de données n'est généralement pas utilisée directement. Au lieu de cela, d'autres langages de programmation appellent mysql via des instructions SQL, qui sont traitées par mysql. et renvoyé pour résultat d'exécution. Alors, comment Mysql traite-t-il l'instruction SQL après l'avoir reçue ?
Premièrement, la requête du programme interagira avec lui via les connecteurs mysql. Une fois la requête arrivée, elle sera temporairement stockée dans le pool de connexions et gérée par le processeur (). Lorsque la requête entre dans la file d'attente de traitement à partir de la file d'attente, le gestionnaire envoie la requête à l'interface SQL (
). Une fois que l'interface SQL a reçu la requête, elle hachera la requête et la comparera avec les résultats dans le cache. S'il y a une correspondance complète, le résultat du traitement sera renvoyé directement via le cache ; sinon, un processus complet sera requis :Management Serveices & Utilities
(1) L'interface SQL est renvoyée à l'interpréteur suivant (Parser). L'interpréteur déterminera si l'instruction SQL est correcte ou non, et si elle est correcte, elle la convertira en une structure de données. SQL Interface
5. Remarque
(1) Comment mettre en cache les données de requête
En fait, ce n'est pas le cas. Après la première requête, mysql hachera l'instruction de requête et les résultats de la requête et les conservera dans le cache. Une fois la requête SQL arrivée, elle sera hachée de la même manière. . Les deux valeurs de hachage sont comparées. Si elles sont identiques, c'est un succès et le résultat de la requête est renvoyé depuis le cache. Sinon, l'ensemble du processus doit être répété.
J'espère que cet article pourra aider les étudiants qui apprennent les bases de données. S'il y a quelque chose qui ne va pas dans l'article, veuillez le signaler. Merci beaucoup !
Pour plus de questions liées à Mysql, veuillez visiter le site Web PHP chinois : Tutoriel vidéo MySQL
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!