zoukankan      html  css  js  c++  java
  • sql排它锁

    1.为什么需要排它锁
    事务中,有时我们在操作一条数据时,是不能让其他事务同时去操作的。
    如某商品库存数量为1,如果有多个事务对该库存进行减一操作,那么库存可能出现负数。
    所以,在某个事务操作时,需要把这个商品的库存锁住,不允许其他事务访问,当事务提交后,解锁,此时其他事务访问到的是操作之后的数据0,不会出现再次扣库存的情况。

    2.select .. for update
    数据库默认的为共享锁,即多个事务可以同时访问一条数据。
    示例如下:

    使用select .. for update时,只有在一个事务commit后,其他事务才能得到排它锁,继续执行。
    示例如下:


    select .. for update的事务会争取锁资源,而正常的select不会受锁的影响。

  • 相关阅读:
    通信接收机同步模块
    CAZAC序列
    Verilog Tricks
    载波同步
    Matlab step方法
    CRC校验码
    比特冗余
    Vivado RAM使用
    collection
    hashlib
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/7542844.html
Copyright © 2011-2022 走看看