当前位置: 移动技术网 > IT编程>数据库>Mysql > mysql 行锁升级到表锁示例

mysql 行锁升级到表锁示例

2020年07月30日  | 移动技术网IT编程  | 我要评论
1.查看存储引擎 show engines;2.数据结构3.根据id(主键)更新同一条数据,A事务产生行锁,B事务执行被阻塞,需要提交A事务后才能执行,如果长时间未提交事务,B事务会导致超时:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction4.根据非索引条件更新,A事务产生表锁,B事务执行被阻塞。总结:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。当更新条件没有使用索

1.查看存储引擎 show engines;

2.数据结构

3.根据id(主键)更新同一条数据,A事务产生行锁,B事务执行被阻塞,需要提交A事务后才能执行,如果长时间未提交事务,B事务会导致超时:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

4.根据非索引条件更新,A事务产生表锁,B事务执行被阻塞。

总结:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。当更新条件没有使用索引时,行锁升级为表锁。

本文地址:https://blog.csdn.net/u010980938/article/details/107632293

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网