Qu'est-ce qui cause le blocage de MySQL ?
May 18, 2019 pm 01:32 PMLa cause du blocage de MySQL : deux processus ou plus se disputent les ressources lors de l'exécution. Il existe trois types de verrous dans MySQL, à savoir les verrous au niveau de la table, les verrous au niveau de la ligne et les verrous de page. Parmi eux, les verrous au niveau de la table ont une faible surcharge, un verrouillage rapide et aucun blocage ne se produira.
MySQL est un système de gestion de bases de données relationnelles qui utilise le langage SQL, qui est le langage standardisé le plus couramment utilisé pour accéder aux bases de données. Lors de l'utilisation de MySQL, des blocages peuvent survenir. Quelle en est la raison ?
Les trois types de verrous MySQL :
Verrous au niveau de la table : faible surcharge, verrouillage rapide ; pas de blocages importants ; grande granularité de verrouillage, probabilité de conflits de verrouillage. Le plus élevé et le plus élevé. concurrence la plus basse.
Verrouillages au niveau des lignes : des blocages de verrouillage lents et élevés peuvent survenir ; la granularité du verrouillage est la plus petite, la probabilité de conflits de verrouillage est la plus faible et la concurrence est la plus élevée.
Verrouillage de page : le coût et le temps de verrouillage se situent entre les verrous de table et les verrous de ligne ; des blocages se produiront ; la granularité du verrouillage se situe entre les verrous de table et les verrous de ligne, et la concurrence est moyenne
Algorithme :
le verrouillage KeyLocks suivant, verrouille l'enregistrement (données) en même temps et verrouille l'espace avant l'enregistrement
Verrouillage de l'espace, ne verrouille pas l'enregistrement, enregistre uniquement l'espace précédent
Recordlock (verrouiller les données, pas verrouiller Gap)
Donc en fait Next-KeyLocks=Gap lock + Recordlock lock
Dans quelles circonstances un blocage se produira
Le soi-disant blocage<DeadLock> : fait référence à un phénomène où deux ou plusieurs processus s'attendent en raison d'une concurrence pour les ressources lors de l'exécution, sans force externe. À ce moment-là, on dit que le système est dans un état de blocage ou que le système est dans une impasse. Ces processus qui s'attendent toujours les uns les autres sont appelés processus de blocage.
Les verrous au niveau de la table ne provoqueront pas de blocages. Par conséquent, la solution aux blocages concerne principalement InnoDB le plus couramment utilisé.
La clé des blocages est la suivante : deux (ou plus) L'ordre de verrouillage de session est incohérent.
Ensuite, la clé pour résoudre le problème de blocage est de verrouiller les différentes sessions dans l'ordre.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment insérer des données dans une table MySQL en utilisant PHP ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ?

Comment créer une table MySQL en utilisant PHP ?
