ロック インテンションロック - notee/MySQL GitHub Wiki

インテンションロック

処理を行いたいテーブルに対して、「これから共有ロック取りますよ」「排他ロック取りますよ」という宣言をするためのロック。テーブルに対してのみかかる。

なおテーブルにかかるロックであり、行ロックとは何の干渉もしない。従ってこのロックが干渉するのはLOCK TABLESくらいである。 (引用 : 従って、インテンション ロックはフル テーブル リクエスト以外は何もブロックしません。(例えば LOCK TABLES ... WRITE)IX と IS ロックの主な目的は、誰かが行をロックしている、またはテーブル内の行をロックしようとしている、という事です。)

種類

  • 共有インテンションロック あるテーブルに対して共有ロックを取ろうとした時に発生する。

  • 排他インテンションロック あるテーブルに対して排他ロックを取ろうとした時に発生する。

ロック対立のマトリクス

以下参照のこと。インテンションロック同士は対立しない。

http://dev.mysql.com/doc/refman/5.1/ja/innodb-lock-modes.html