锁是计算机协调多个进程或纯线程并发访问某一资源的机制. 在mysql中更是用处多多, 今天就一起看下mysql中的行级锁. 它主要包括行锁, 间隙锁, 临键锁三种....记录锁(record lock)
记录锁,也叫行锁,是为某行记录加锁, 它是依赖索引实现的, 一旦某个加锁操作没有使用到索引,那么该锁就会退化为表锁....关于是否包含右侧临界数据, 与mysql版本有关, 8.0之后版本是不包含的.
5.3.1 更新前一节点数据
事务B更新前一节点数据并执行成功, 说明对前一节点不进行加锁操作.
update tab...X
update tab set c =c+1 where b = 20;
锁信息
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
+----...优化 1: 索引上的等值查询,
命中唯一索引,退化为行锁.
命中普通索引,左右两边的gap lock + record lock.