含悲观+乐观锁+行锁+表锁+页锁等 最全MySQL锁详解( 二 )


 

  • 第一种情况是:事务需要更新大部分或全部数据 , 表又比较大 , 如果使用默认的行锁 , 不仅这个事务执行效率低 , 而且可能造成其他事务长时间锁等待和锁冲突 , 这种情况下可以考虑使用表锁来提高该事务的执行速度 。
  • 第二种情况是:事务涉及多个表 , 比较复杂 , 很可能引起死锁 , 造成大量事务回滚 。这种情况也可以考虑一次性锁定事务涉及的表 , 从而避免死锁、减少数据库因事务回滚带来的开销 。
 
当然 , 应用中这两种事务不能太多 , 否则 , 就应该考虑使用MyISAM表了 。
-end-
阿里架构师进阶从0到1全部合集(非常全面)
含悲观+乐观锁+行锁+表锁+页锁等 最全MySQL锁详解

文章插图
 
含悲观+乐观锁+行锁+表锁+页锁等 最全MySQL锁详解

文章插图

【含悲观+乐观锁+行锁+表锁+页锁等 最全MySQL锁详解】


推荐阅读