Maison  >  Article  >  base de données  >  Quelle est la différence entre le verrouillage de table MySQL et le verrouillage de ligne

Quelle est la différence entre le verrouillage de table MySQL et le verrouillage de ligne

青灯夜游
青灯夜游original
2019-05-07 17:11:466519parcourir

Mysql dispose de nombreux mécanismes de verrouillage de ce type, tels que les verrous de ligne, les verrous de table, les verrous de lecture, les verrous d'écriture, etc., qui sont tous verrouillés avant les opérations ; ces verrous sont collectivement appelés verrous pessimistes. Cet article vous présentera les verrous dans MySQL et présentera la différence entre les verrous de table et les verrous de ligne. J'espère qu'il vous sera utile.

Quelle est la différence entre le verrouillage de table MySQL et le verrouillage de ligne

Le verrouillage est un mécanisme permettant aux ordinateurs de coordonner plusieurs processus ou threads pour accéder simultanément à une ressource. Dans une base de données, outre la concurrence traditionnelle pour les ressources informatiques (telles que le CPU, la RAM, les E/S, etc.), les données sont également une ressource partagée par de nombreux utilisateurs. Comment garantir la cohérence et l'efficacité de l'accès simultané aux données est un problème que toutes les bases de données doivent résoudre. Les conflits de verrouillage sont également un facteur important affectant les performances de l'accès simultané aux bases de données. De ce point de vue, les verrous sont particulièrement importants et complexes pour les bases de données.

La différence entre le verrouillage de table et le verrouillage de ligne dans MySQL

Verrouillage de ligne

Caractéristiques : Verrouillage La granularité est faible, la probabilité de conflits de verrouillage est faible et la capacité à gérer la concurrence est forte ; la surcharge est importante, le verrouillage est lent et des blocages peuvent survenir

Méthode de verrouillage : verrouillage automatique. Pour les instructions UPDATE, DELETE et INSERT, InnoDB ajoutera automatiquement des verrous exclusifs aux ensembles de données impliqués ; pour les instructions SELECT ordinaires, InnoDB n'ajoutera aucun verrou.

Verrouillage de table

Caractéristiques : faible surcharge, verrouillage rapide, pas de blocage ; grande granularité de verrouillage, forte probabilité de conflit de verrouillage, faibles performances sous une concurrence élevée

Méthode de verrouillage : verrouillage automatique. Les opérations de requête (SELECT) ajouteront automatiquement des verrous en lecture à toutes les tables impliquées, et les opérations de mise à jour (UPDATE, DELETE, INSERT) ajouteront automatiquement des verrous en écriture aux tables impliquées.

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