mysql挿入意図ロックの使用方法

PHPz
リリース: 2023-05-30 09:23:27
転載
1416 人が閲覧しました

1. 挿入意図ロックは、挿入操作によって生成される、意図ロックではなくギャップ ロックです。複数のトランザクションが同時に同じインデックスギャップに異なるデータを書き込む場合、他のトランザクションの完了を待つ必要はなく、ロック待ちは発生しません。

キー値 4 と 7 を含むレコード インデックスがあり、別のトランザクションがそれぞれ 5 と 6 を挿入すると仮定します。各トランザクションは挿入意図ロックを生成し、それを 4 ~ 7 の間に追加して取得します。挿入された行。データ行は競合しないため、排他ロックではありますが、相互ロックではありません。

2. インテンション ロックを挿入してもロックは防止されず、レコードを挿入するとレコード ロックが保持されます。

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;;
ログイン後にコピー

以上がmysql挿入意図ロックの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート