Parmi les verrous au niveau des lignes, les verrous au niveau des tables et les verrous au niveau des pages dans MySQL, nous avons introduit que les verrous au niveau des lignes sont les verrous les plus granulaires dans MySQL. Les verrous au niveau des lignes peuvent réduire considérablement les conflits dans les opérations de base de données. Les verrous au niveau des lignes sont divisés en verrous partagés et verrous exclusifs. Cet article présentera en détail les concepts, l'utilisation et les précautions des verrous partagés et des verrous exclusifs. Verrou partagé (Share Lock) Le verrou partagé, également appelé verrou de lecture, est un verrou créé par une opération de lecture. D'autres utilisateurs peuvent lire les données simultanément, mais aucune transaction ne peut modifier les données (acquérir un verrou exclusif sur les données) tant que tous les verrous partagés n'ont pas été libérés. Si la transaction T ajoute un verrou partagé aux données A, les autres transactions ne peuvent ajouter que des verrous partagés à A et ne peuvent pas ajouter de verrous exclusifs. Les transactions bénéficiant de verrous partagés peuvent uniquement lire des données et ne peuvent pas les modifier. Utilisation SELECT ... LOCK IN SHARE MODE ; ajoutez LOCK IN SHARE MODE après l'instruction de requête, MySQL ajoutera un verrou partagé à chaque ligne du résultat de la requête, lorsqu'aucun autre thread n'utilise un verrou exclusif sur une ligne du jeu de résultats de la requête. , vous pouvez demander avec succès le verrou partagé, sinon il sera bloqué. D'autres threads peuvent également lire des tables à l'aide de verrous partagés, et
1 Partager l'utilisation des verrous partagés et des verrous exclusifs dans MySQL
Introduction : Parmi les verrous au niveau de la ligne, les verrous au niveau de la table et les verrous au niveau de la page dans MySQL, nous avons introduit que les verrous au niveau de la ligne constituent la granularité de verrouillage dans MySQL. Le type de verrou le plus détaillé, les verrous au niveau des lignes, peut réduire considérablement les conflits dans les opérations de base de données. Les verrous au niveau des lignes sont divisés en verrous partagés et verrous exclusifs. Cet article présentera en détail les concepts, l'utilisation et les précautions des verrous partagés et des verrous exclusifs. Verrou partagé (Share Lock) Le verrou partagé, également appelé verrou de lecture, est un verrou créé par une opération de lecture. D'autres utilisateurs peuvent lire les données simultanément, mais aucune transaction ne peut modifier les données (acquérir un verrou exclusif sur les données) tant que tous les verrous partagés n'ont pas été libérés. Si transaction T
2. Explication détaillée par MySQL des diverses distinctions de verrouillage et MVCC
Introduction : MySQL semble avoir beaucoup de verrous. Après avoir vérifié la plupart des informations, que sont les verrous de table, les verrous de ligne, les verrous de page, les verrous partagés, les verrous exclusifs, les verrous d'intention, les verrous de lecture. , et écrire des verrous ? Verrouiller, verrou optimiste. . J'y vais, j'ai vraiment envie de demander, y a-t-il des mèches dorées ? J'ai toujours Fan Bingbing. . . Oups, pourquoi est-ce si compliqué ? Alors faisons le tri et résumons-le. Plus tard, il y a une compréhension et des exemples de mvcc sous innodb, qui sont simples et faciles à comprendre. Verrouillage de table/ligne/page : verrouillage au niveau de la table : M
3 Si file_put_contents sera mis en file d'attente en cas de verrouillage exclusif de fichier
Introduction : file_put_contents('test.txt',$data,FILE_APPEND|LOCK_EX); Comme le montre l'instruction ci-dessus, si une grande quantité de données est écrite dans un fichier, cela prendra beaucoup de temps. time. Le file_put_contents suivant écrira également des données dans le fichier puisque le fichier a un verrou exclusif, file_put suivant...4. index Comparaison de vitesse
Introduction : Dans la version MySQL5.1.X, le processus de création et suppression d'index clusterisés : 1. Créez une table vide avec la même structure que la table d'origine, puis créez un index clusterisé ; 2. Copiez les données de la table d'origine dans la nouvelle table. À ce moment, un verrou exclusif sera ajouté. à la table d'origine, qui est
5
Verrouillage rotatif dans SQLSERVERIntroduction : Verrouillage rotatif dans SQLSERVER Là. Il existe de nombreux verrous dans SQLSERVER, tels que le partage d'intention. Les verrous, les verrous exclusifs, les lignes et les verrous de page appartiennent tous à LOCK. Le verrou est plus léger que le verrou et n'existe qu'en mémoire. Il est généralement utilisé pour verrouiller les pages de données afin d'empêcher plusieurs personnes. de modifier une page de données en mémoire en même temps. Introduit aujourd'hui Le verrou tournant est plus léger que les deux verrous ci-dessus
La base de données ne peut pas être verrouillée avec une exclusivité. verrouiller
Introduction : Lorsque j'ai implémenté l'exemple dans la vidéo SQL d'aujourd'hui, afin d'éviter de créer trop de bases de données, j'ai pensé à changer le nom de la base de données déjà utilisée par celui requis, mais l'ordinateur était très méchant et m'a toujours dit : Apparaît Après ce genre d'erreur, deux options s'offrent à moi : D'abord, je trouverai la solution en ligne, puis je continuerai après l'avoir résolue (cela peut prendre plus de temps que la création d'une nouvelle base de données 7. Mécanisme de verrouillage ORACLE Introduction : Il existe deux types de verrous dans le mécanisme de verrouillage ORACLE : le verrouillage exclusif et verrou partagé. Également appelé verrou X, lorsqu'un utilisateur manipule une donnée, Oracle ajoute automatiquement et implicitement un verrou exclusif à l'enregistrement manipulé par l'utilisateur. Une fois le verrou exclusif ajouté, les autres transactions ne peuvent pas manipuler les données et peuvent uniquement les afficher. Les autres transactions ne peuvent pas ajouter davantage de verrous X. Lorsque cette transaction est terminée, d'autres transactions peuvent 8. Nouvelles fonctionnalités d'Oracle11g : amélioration de la fonction d'opération en ligne Introduction : Bienvenue sur le forum de la communauté Oracle, interagissez et communiquez avec 2 millions d'employés techniques> La fonction de traitement en ligne a été considérablement améliorée dans 11g, notamment la modification en ligne de la structure des tables, la création ou la reconstruction en ligne d'index, l'établissement d'index invisibles et les ajouts de tables. Champs non nuls, raffinement du DDL et des dépendances d'objet en ligne, etc. Avant 11g, les opérations DDL doivent obtenir le verrou exclusif de l'objet If 9 Verrou exclusif pour le traitement des transactions de base de données_MySQL Introduction : Verrouillage exclusif pour le traitement des transactions de base de données 10 mysql second day lock_MySQL Introduction : Si. s'il n'y a pas de verrous, la concurrence sera plus forte, mais la sécurité des données sera problématique. Par conséquent, la base de données verrouillera les données. Les verrous partagés et les verrous exclusifs sont des verrous en lecture-écriture. Les verrous partagés peuvent être superposés aux verrous partagés mais ne peuvent pas être ajoutés aux verrous exclusifs, tandis que les verrous exclusifs ne peuvent pas être superposés. En fonction du niveau d'isolement, etc., mysql [Recommandations de questions et réponses associées] : php - si file_put_contents sera mis en file d'attente lors de la rencontre un verrou exclusif de fichier Scénario d'utilisation réelle de la transaction du verrou partagé MySQL en mode partage
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!