Dieser Artikel bietet Ihnen eine Einführung in die Notwendigkeit und Klassifizierung von Sperren in MySQL. Ich hoffe, dass er für Freunde hilfreich ist.
Wenn die Anzahl der Benutzerbesuche zunimmt, ist die Datenbank häufig ein Leistungsengpass, aber nicht nur ein Leistungsengpass, sondern auch die Datensicherheit. Zu diesem Zeitpunkt ist der Sperrmechanismus sehr hoch notwendig.
Durch Parallelität verursachte Datensicherheitsprobleme werden hauptsächlich in drei Aspekte unterteilt: Dirty Reading, Phantom Reading und nicht wiederholbares Lesen
1 Dirty Reading
Dirty Reading ist ein Transaktionales Lesen Es wurden nicht festgeschriebene Daten aus einer anderen Transaktion abgerufen.
时间线 事务1 事务2 1 begin; 2 select * from lock where id = 1; 3 begin; 4 update lock set name='dirty'; 6 select * from lock where id = 1; 7 commit; commit;
2. Phantom-Lesen
Phantom-Lesen ist, wenn eine Transaktion die von einer anderen Transaktion eingefügten Daten liest
时间线 事务1 事务2 1 begin; 2 select * from lock where id > 1; 3 begin; 4 insert lock select 2; 5 commit; 6 select * from lock where id > 1; 7 commit;
3 🎜 >
Nicht wiederholbares Lesen bedeutet, dass die Ergebnisse, die durch mehrmaliges Lesen einheitlicher Daten zurückgegeben werden, inkonsistent sind. Im Gegensatz zum schmutzigen Lesen werden bereits übermittelte Daten gelesen. Im Gegensatz zum Phantom-Lesen werden Daten aktualisiert, während beim Phantom-Lesen Daten eingefügt werden.时间线 事务1 事务2 begin; select * from lock where id = 1; begin; update lock set name='non-rr'; commit; select * from lock where id = 1; commit;MySQL löst die oben genannten drei Probleme durch die Isolierung von Transaktionen
Es gibt 4 Isolationsstufen
隔离级别 脏读 幻读 不可重复读 未提交读(RUC) 是 是 是 已提交读(RC) 否 是 是 可重复读(RR) 否 是 否 可串行化 否 否 否MySQL implementiert die Transaktionsisolation durch den SperrmechanismusSperren sind wie folgt klassifiziert
Das obige ist der detaillierte Inhalt vonEinführung in die Notwendigkeit und Klassifizierung von Sperren in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!