Heim > Datenbank > MySQL-Tutorial > So lösen Sie nicht wiederholbare Lesevorgänge in MySQL

So lösen Sie nicht wiederholbare Lesevorgänge in MySQL

coldplay.xixi
Freigeben: 2020-09-02 13:50:19
Original
8999 Leute haben es durchsucht

MySQLs Methode zur Lösung nicht wiederholbarer Lesevorgänge: Die MVCC-Mehrversions-Parallelitätskontrolle verwendet zwei versteckte Spalten nach jedem Datenelement, nämlich die Erstellungsversionsnummer und die Löschversionsnummer. Jede Transaktion wird erhöht Versionsnummer.

So lösen Sie nicht wiederholbare Lesevorgänge in MySQL

【Verwandte Lernempfehlung: MySQL-Lernen

MySQL-Methode zum Lösen nicht wiederholbarer Lesevorgänge:

In MySQL ist die Standard-Transaktionsisolationsstufe wiederholbar fähig- read) ), um nicht wiederholbares Lesen zu lösen, verwendet innodb mvcc (Multi-Version Concurrency Control), um dieses Problem zu lösen.

mvcc verwendet zwei versteckte Spalten (Versionsnummer erstellen und Versionsnummer löschen), die nach jedem Datenelement hinzugefügt werden. Jede Transaktion hat zu Beginn eine steigende Versionsnummer. Neu hinzugefügt:

insert into user (id,name,age)values(1,"张三",10);
Nach dem Login kopieren

So lösen Sie nicht wiederholbare Lesevorgänge in MySQL

Update :

update user set age = 11 where id = 1;
Nach dem Login kopieren

Der Aktualisierungsvorgang wird durch Löschen + Hinzufügen implementiert. Markieren Sie zunächst die aktuellen Daten als gelöscht um die gelöschte Versionsnummer der Daten direkt auf die Versionsnummer der aktuellen Transaktion zu aktualisieren Folgende Bedingungen müssen erfüllt sein:

1. Bei der Abfrage muss die Versionsnummer der aktuellen Transaktion größer oder gleich der Erstellungsversionsnummer sein kleiner sein als die gelöschte Versionsnummer. Das heißt: create_version

Das obige ist der detaillierte Inhalt vonSo lösen Sie nicht wiederholbare Lesevorgänge in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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