Rumah >pangkalan data >tutorial mysql >Cara menggunakan mysql insert intention lock

Cara menggunakan mysql insert intention lock

PHPz
PHPzke hadapan
2023-05-30 09:23:271435semak imbas

1. Kunci niat sisipan ialah kunci celah, bukan kunci niat, dan dijana oleh operasi sisipan. Apabila berbilang urus niaga menulis data yang berbeza pada jurang indeks yang sama pada masa yang sama, tidak perlu menunggu urus niaga lain selesai, dan tiada tunggu kunci akan berlaku.

Anggapkan terdapat indeks rekod yang mengandungi nilai kunci 4 dan 7, dan transaksi yang berbeza masing-masing memasukkan 5 dan 6 Setiap transaksi akan menghasilkan kunci niat sisipan, dan menambahnya antara 4-7 untuk mendapatkan baris yang disisipkan mengunci eksklusif, tetapi tidak mengunci bersama, kerana baris data tidak bercanggah.

2. Memasukkan kunci niat tidak akan menghalang sebarang kunci, dan memasukkan rekod akan menahan kunci rekod.

Instance

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;;

Atas ialah kandungan terperinci Cara menggunakan mysql insert intention lock. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam