Maison  >  Article  >  base de données  >  Qu’est-ce qui cause le blocage de MySQL ?

Qu’est-ce qui cause le blocage de MySQL ?

little bottle
little bottleoriginal
2019-05-18 13:32:217068parcourir

La 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.

Qu’est-ce qui cause le blocage de MySQL ?

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 : 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!

Déclaration:
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

Articles Liés

Voir plus