mysql 锁

作者: 禹声 | 来源:发表于2021-10-25 21:35 被阅读0次

    乐观锁

    默认认为不会有冲突,等执行的时候再确认是否有冲突;适用于多读少写的情况下
    select之后 在update的时候检查是否和刚才select同一个版本;是的话,则中间没有其他事务操作过,可以执行。反之需要重新读,重新update

    悲观锁

    默认认为就有问题,有冲突;在查询的时候就给加上一个锁,执行完在解锁

    其中有两种实现:
    * 共享锁(读锁):加了读锁之后的数据,其他事务也可以在上面加读锁,但是不能加写锁;也就是大家可以一起读一读,但是修改不行;select for update 这种不行,因为要加写锁;del insert update 也不行,因为默认这种操作都是加写锁;
    * 排它锁(写锁):加了写锁之后,其他什么锁都加不上了;但是select还是可以查的,因为普通select是不用加锁;select for update 这种就不行,因为这种查询要加写锁

    相关文章

      网友评论

          本文标题:mysql 锁

          本文链接:https://www.haomeiwen.com/subject/emvsaltx.html