专栏首页后台及大数据开发mysql 中select for update 锁表的范围备注

mysql 中select for update 锁表的范围备注

mysql的锁表范围测试

1.主键明确时,行级锁:

  解释:指定主键并且数据存在时,仅锁定指定的行,其它行可以进行操作

  实例:指定了锁定id=1的行且数据存在①,在更新1时lock wait超时②,但是更新id不为1的项目时可以直接更新③,释放锁后④,可以任意更新⑤

2.主键不明确时,表级锁:

  解释:指定主键不明确或者数据不存在时,整表锁定

  指定主键不明确包括使用in、not in、<>等 

3.使用非主键限定时,表级锁:

  解释:如果where条件中不存在主键限定而采用非主键筛选,全表锁定

所以要实现行级锁来实现高并发场景时,必须明确指定主键,否则整个表锁定,影响其它线程操作。

注意:测试时请开两个窗口测试,并且 for update语句要在 begin后 commit前

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java-大数据方向学习和已掌握知识点整理

    现在的项目是大数据相关项目,一路走来从最初的 C 开发到 Java 再到 大数据,不容易

    肖哥哥
  • 自定义注解实现权限管理框架或其它功能扩充

    在进行springMVC进行J2EE项目开发时,spring及第三方的如Shiro等为我们快速实现某个功能提供了注解标签,配置和使用都及其简单

    肖哥哥
  • Centos7 keepalived安装并监控mysql实现自动切换

    肖哥哥
  • 数据结构(ER数据库)设计规范 原

    表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为:

    随风溜达的向日葵
  • 浅谈数据库主键策略

    浅谈数据库主键策略 数据库表的主键很多童鞋都非常熟悉了,主键就是Primary Key,简称PK。 数据库主键的作用是唯一标识一条记录,所以在同一张表中,...

    用户1212940
  • MySQL 之主键

    小编在查询相关的学习资料的同时,偶尔会遇到关于主键的信息,也是一直没有很清晰的认知,所以,这篇学习笔记,主要是和大家一起分享有关主键的知识。

    DataScience
  • 数据库MySQL-实体之间的关系

    答:在字段数量很多情况下,数据量也就很大,每次查询都需要检索大量数据,这样效率低下。我们可以将所有字段分成两个部分,“常用字段”和“不常用字段”,这样对大部分查...

    cwl_java
  • SQL反模式学习笔记22 伪键洁癖,整理数据

    在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键机制。

    张传宁老师
  • 《放弃Mybatis使用tkMybatis》

    (5)、在application.yml配置文件,指定mapper.xml文件路径。(可省略)

    IT大咖说
  • 一条payload发生的事情(来自对报错注入的思考)

    最近在重新整理复现MYSQL注入天书,遇到了一条很有意思的报错注入的payload:

    Elapse

扫码关注云+社区

领取腾讯云代金券