• 数据库锁


    假设有个表单products ,里面有id 跟name 二个栏位,id 是主键。
    例1: (明确指定主键,并且有此数据,row lock)

    SELECT * FROM products WHERE id='3' FOR UPDATE;

    例2: (明确指定主键,若查无此数据,无lock)

    SELECT * FROM products WHERE id='-1' FOR UPDATE;

    例2: (无主键,table lock)

    SELECT * FROM products WHERE name='Mouse' FOR UPDATE;

    例3: (主键不明确,table lock)

    SELECT * FROM products WHERE id<>'3' FOR UPDATE;

    例4: (主键不明确,table lock)

    SELECT * FROM products WHERE id LIKE '3' FOR UPDATE;


    乐观所和悲观锁策略
    悲观锁:在读取数据时锁住那几行,其他对这几行的更新需要等到悲观锁结束时才能继续 。
    乐观所:读取数据时不锁,更新时检查是否数据已经被更新过,如果是则取消当前更新,一般在悲观锁的等待时间过长而不能接受时我们才会选择乐观锁。

  • 相关阅读:
    UE 不生成.bak文件
    DOTWeen 使用
    unity admob
    UGUI 判断元素进入舞台
    unity 解决ScrollRect嵌套滚动问题
    oc字符串与c字符串转换和拷贝
    Object-c中的单例
    JAVA比较两个List集合的方法
    CentOS 7 配置静态IP
    CentOS7安装Jdk1.8
  • 原文地址:https://www.cnblogs.com/suneryong/p/9001607.html
Copyright © 2020-2023  润新知