Le niveau supérieur n'est pas propre à MySQL, tout est basé sur le réseau C/S Toutes les applications réseau doivent inclure la gestion des connexions, l'authentification, la gestion de la sécurité, etc.
La couche intermédiaire est le cœur de MySQL, comprenant l'requêtel'analyse, l'analyse, l'optimisation et la mise en cache, etc. Dans le même temps, il fournit également des fonctions de moteur de stockage croisé, notamment des procédures stockées, des déclencheurs et des vues, etc.
Le bas est le moteur de stockage, qui est responsable de l'accès aux données. Le serveur peut interagir avec différents moteurs de stockage via le moteur de stockage API.
MySQL analyse l'instruction de requête de l'utilisateur et crée une structure de données interne - l'arbre d'analyse, puis effectue diverses optimisations, par exemple. la requête, choisir l'ordre dans lequel lire les tables, et quel index utiliser, etc. L'optimiseur de requêtes ne se soucie pas du moteur de stockage utilisé par une table, mais le moteur de stockage affecte la manière dont le serveur optimise les requêtes. L'optimiseur obtient certains paramètres, le coût d'exécution d'une opération et des informations statistiques via le moteur de stockage. Avant d'analyser la requête, le serveur accède au cache de requêtes, qui stocke l'instruction SELECT et l'ensemble de résultats de requête correspondant. Si le résultat d'une requête est déjà dans le cache, le serveur n'analysera, n'optimisera et n'exécutera plus la requête. Il renvoie uniquement les résultats du cache à l'utilisateur, ce qui améliorera considérablement les performances du système.
MySQL propose deux niveaux de contrôle de concurrence : le niveau serveur (le niveau serveur) et le niveau moteur de stockage (le niveau moteur de stockage). Le verrouillage est la méthode de base pour réaliser le contrôle de concurrence. La granularité des verrous dans MySQL :
(1) Verrous au niveau de la table : MySQL fournit des verrous de table indépendamment du moteur de stockage. Par exemple, pour l'instruction ALTER TABLE, le serveur fournit des verrous de table (verrouillage au niveau de la table).
(2) Verrous au niveau des lignes : les moteurs de stockage InnoDB et Falcon fournissent des verrous au niveau des lignes. De plus, BDB prend en charge les verrous au niveau des pages. Le mécanisme de contrôle de concurrence d'InnoDB est discuté en détail dans la section suivante.
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!