Heim > Datenbank > MySQL-Tutorial > Einführung in die Notwendigkeit und Klassifizierung von Sperren in MySQL

Einführung in die Notwendigkeit und Klassifizierung von Sperren in MySQL

不言
Freigeben: 2018-10-17 16:58:01
nach vorne
2642 Leute haben es durchsucht

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren
MySQL löst die oben genannten drei Probleme durch die Isolierung von Transaktionen

Es gibt 4 Isolationsstufen

隔离级别           脏读   幻读   不可重复读
未提交读(RUC)       是     是      是
已提交读(RC)        否     是      是
可重复读(RR)        否     是      否
可串行化            否     否      否
Nach dem Login kopieren
MySQL implementiert die Transaktionsisolation durch den Sperrmechanismus

Sperren sind wie folgt klassifiziert

Einführung in die Notwendigkeit und Klassifizierung von Sperren in MySQL


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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage