zoukankan      html  css  js  c++  java
  • 【mysql】行锁/间隙锁/区间锁

    • 行锁 record lock
    • 间隙锁 gap lock
    • 区间锁 next-key lock

    作用

    防止幻读

    什么时候会取得gap lock或者next-key lock

    隔离级别有关,只在REPEATABLE READ或以上的隔离级别下的特定操作才会取得gap lock或nextkey lock。
    UPDATE和DELETE时,除了对唯一索引的唯一搜索外都会获取gap锁或next-key锁。即锁住其扫描的范围。

    简单来说,影响到的字段不是唯一的,会变为区间锁
    如果是唯一的,会取得 行锁

    select * from t where id = 1 for update;
    

    只锁定一行记录

    select * from t where id >5 for update;
    

    锁定 (5,n] 的数据行

    select * from t where field_a = 100 for update;
    

    如果此字段没有索引,会变为表锁,因为需要一条一条遍历,否则只锁满足只字段的数据

    • S 锁 共享锁,同一时刻都能读但只能一个人写
    • X 锁 排他锁,同一时刻读写都只能一个资源操作
  • 相关阅读:
    jQuery工具函数
    jqXHR对象
    跨域获取
    Ajax :六个全局事件
    表单序列化
    Ajax : $. get()和$.post() $.getScript $.getJSON
    Ajax : load()
    列队动画
    关于MindManager显示不同级别的控制
    Mybatis 查询传多个参数(3中方法)
  • 原文地址:https://www.cnblogs.com/lisq/p/12634475.html
Copyright © 2011-2022 走看看