Maison base de données tutoriel mysql Qu'est-ce qui cause le blocage de MySQL ?

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

May 18, 2019 pm 01:32 PM
mysql 死锁

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

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

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Musée de deux points: Guide de localisation de Bungle Wasteland
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

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

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

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

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

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 ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

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 insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

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 corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

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

Comment créer une table MySQL en utilisant PHP ? Comment créer une table MySQL en utilisant PHP ? Jun 04, 2024 pm 01:57 PM

Comment créer une table MySQL en utilisant PHP ?

See all articles