タイトルのとおりですが、InnoDB は行ロックをかける事で有名ですが、行ロックをかけるには必ず INDEX が必要になります。 今回はその事について簡単にまとめようと思います。 行ロックがかからない例 まずは、行ロックがかからない例を書いてみます。 下記のような単純な test テーブルを用意します。 +----+--------+ | id | number | +----+--------+ | 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 4 | | 5 | 5 | | 6 | 6 | | 7 | 7 | | 8 | 8 | | 9 | 9 | | 10 | 10 | +----+--------+ コンソール A mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM t