前に筆者が担当した第145回に続いて、 InnoDBの行ロック状態を確認する方法について紹介します。先に第145回InnoDBの行ロック状態を確認する[その1] をご確認ください。 今回も引き続きMySQL 8. 0.23を使用しています。 data_ lock_ waitsテーブル MySQL 8. 0から追加さ ...
LOCK TABLESによるロックはmetadata lock扱いになる。(https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-5.html) そして Table_locks_immediate and ...
InnoDBでは、以下4つのトランザクション分離レベルが提供されます。 デフォルトの分離レベルはREPEATABLE READです。 まずは、InnoDBのデフォルトであるREPEATABLE READについて簡単に確認します。 REPEATABLE READはトランザクション開始後の最初の読み取りでスナップ ...
Auroraのバージョンアップに伴い(2.02.5→2.04.8)performance_schemaとsysが使用可能になった。 その結果ロック関連の監視が出来るか再び調査する。 ## ロック監視できるもの ### 行ロックやデッドロック sys.innodb_lock_waitsテーブルがロック系の情報を持つ。このテーブル ...
排他制御に関して知らないSQLが出てきたのでまとめていく SELECT * FROM user_table WHERE user_id = 1 FOR UPDATE; 行ロック(Row-Level Locks): 標準 SQL の FOR UPDATE に加え、FOR SHARE/FOR NO KEY UPDATE/FOR KEY SHARE、SKIP LOCKED/NOWAIT などがある。