锁是计算机协调多个进程或纯线程并发访问某一资源的机制. 在mysql中更是用处多多, 今天就一起看下mysql中的行级锁. 它主要包括行锁, 间隙锁, 临键锁三种....记录锁(record lock)
记录锁,也叫行锁,是为某行记录加锁, 它是依赖索引实现的, 一旦某个加锁操作没有使用到索引,那么该锁就会退化为表锁....查看锁信息, 是数据(30,30)被X,GAP两种锁锁住, 同时影响到了数据区间(20,30).
insert into tab value(21,21,21);
锁信息
mysql> SELECT...INNODB_LOCKS表
mysql提供的查看锁信息的元数据表....优化 1: 索引上的等值查询,
命中唯一索引,退化为行锁.
命中普通索引,左右两边的gap lock + record lock.