Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verwenden Sie die MySQL-Insert-Intention-Sperre

PHPz
Freigeben: 2023-05-30 09:23:27
nach vorne
1416 Leute haben es durchsucht

1. Die Einfügeabsichtssperre ist eine Lückensperre, keine Absichtssperre. Sie wird durch den Einfügevorgang generiert. Wenn mehrere Transaktionen gleichzeitig unterschiedliche Daten in dieselbe Indexlücke schreiben, muss nicht auf den Abschluss anderer Transaktionen gewartet werden, und es erfolgt keine Sperrwartezeit.

Angenommen, es gibt einen Datensatzindex mit den Schlüsselwerten 4 und 7 und verschiedene Transaktionen fügen jeweils 5 und 6 ein. Jede Transaktion generiert eine Einfügungsabsichtssperre, die zwischen 4 und 7 hinzugefügt wird um die eingefügte Zeile exklusiv voneinander zu sperren, sich jedoch nicht gegenseitig zu sperren, da es keinen Konflikt zwischen den Datenzeilen gibt.

2. Durch das Einfügen einer Absichtssperre werden keine Sperren verhindert, und durch das Einfügen eines Datensatzes wird eine Datensatzsperre beibehalten.

Instanz

insert into test_user(user_id,name,age) values(2,'b',10)
------- TRX HAS BEEN WAITING 18 SEC FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 6628 page no 4 n bits 72 index `index_user` of table `test`.`test_user` trx id 117851203
插入意向锁
lock_mode X insert intention waiting
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
 0: len 8; hex 73757072656d756d; asc supremum;;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die MySQL-Insert-Intention-Sperre. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage