ホームページ  >  記事  >  データベース  >  mysql にはどのような粒度ロックがありますか?

mysql にはどのような粒度ロックがありますか?

WBOY
WBOY転載
2023-05-26 13:49:061349ブラウズ

1. テーブル ロック

テーブル ロックとは、ロック時にテーブル全体をロックすることを指します。次のトランザクションがテーブルにアクセスするときは、前のトランザクションがロックを解除するまで待ってからアクセスする必要があります。テーブル

特徴には、大きな粒度、単純なロック、および容易な競合が含まれます。

2. 行ロック

は、ロック時にテーブル内の 1 つ以上のレコード行がロックされることを意味します。他のトランザクションが同じテーブルにアクセスすると、ロックされたレコードのみがロックされます。レコードにはアクセスできませんが、他のレコードには通常どおりアクセスできます

特徴は、粒度が小さく、ロックがテーブル ロックよりも面倒で、衝突が起こりにくく、テーブル ロックよりも高い同時実行性をサポートすることです

# #3. レコードロック

レコードロックもロックの一種ですが、レコードロックの範囲はテーブルの特定のレコードのみですレコードロックはトランザクションロックであり、特定のレコードのみをロックしますテーブルの。

4. ギャップ ロック

ギャップ ロックはロックの一種で、トランザクションがロックされた後、テーブル レコードの一定間隔をロックします。隣接する ID 間にギャップが生じると形成され、左右の閉鎖の原理に従います。

5. キー ロック

ロック キーも行ロックの一種であり、INNODB のデフォルトの行ロック アルゴリズムです。レコード キーとギャップ キー。一時キーは、クエリされたレコードをロックし、クエリ範囲内のすべてのギャップ スペースをロックし、次に隣接する間隔をロックします。

以上がmysql にはどのような粒度ロックがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。