美文网首页
数据库的悲观锁

数据库的悲观锁

作者: 哈哈11122 | 来源:发表于2022-04-11 15:10 被阅读0次

悲观锁

悲观锁:修改之前先对数据库里的数据进行锁定,然后修改,修改后释放锁。在锁定中,其他人无法修改数据。

数据库里的悲观锁

表名:SWHS_PROJECT_MEETING

字段 是否唯一 备注
MEETING_ID 主键
VERSION_CODE

1.行锁

  1. 通过for update语句加锁
    select meeting_id, meeting_status from swhs_project_meeting where meeting_id=181 for update;
  2. 此时meeting_id=181的数据被加了行锁。
    故:
    update swhs_project_meeting set meeting_status=1 where meeting_id=181会进入等待,直到步骤1的for update语句提交。
    更新、删除其他数据和插入数据不受影响。例如:
    update swhs_project_meeting set meeting_status=1 where meeting_id=208 ;
    insert into swhs_project_meeting(meeting_id, meeting_status) values(201, 0);

2.表锁

  1. 通过for update语句加锁。meeting_status字段没有唯一性约束。
    select meeting_id, meeting_status from swhs_project_meeting where meeting_status =1 for update
  2. 此时是表锁,不可执行插入、更新和删除。

相关文章

  • 悲观锁与乐观锁

    乐观锁与悲观锁 概念 悲观锁(数据库锁) 悲观锁(Pessimistic Lock),顾名思义,很悲观,每次在拿数...

  • 锁的概述

    乐观锁与悲观锁 悲观锁 乐观锁和悲观锁的概念出自数据库,但在java并发包中也引入和类似的概念(乐观锁/悲观锁是一...

  • 数据库相关

    一、乐观锁和悲观锁 数据库实现并发控制的手段一般分为乐观锁和悲观锁。 悲观锁: 当我们要对一个数据库中的一条...

  • 悲观锁和乐观锁

    悲观锁注重安全,乐观锁注重并发记录锁、表锁、数据库锁 1、悲观锁 悲观锁会使load上的懒加载自动失效,直接发sq...

  • 秒杀系统技术方案演变过程

    前言:秒杀系统需要保证商品库存不能出现超卖现象。一、数据库锁机制(悲观锁、乐观锁)实现秒杀(1)悲观锁:数据库本身...

  • 乐观锁与悲观锁简介

    悲观锁 在关系数据库管理系统里,悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Co...

  • 九、【Java 并发】锁的概述

    乐观锁 & 悲观锁 乐观锁和悲观锁是在数据库中引入的名词,但是在 Java 并发包锁里面也引入了类似的思想。 悲观...

  • MySQL中的悲观锁

    什么是悲观锁 在关系数据库管理系统里,悲观并发控制(又名“悲观锁”,Pessimistic Concurrency...

  • MySQL 乐观锁与悲观锁

    本质: 悲观锁和乐观锁都是一种概念和认知。数据库有java语言都有对应的实现方式。 悲观锁 悲观锁(Pessimi...

  • 关系型数据库锁机制的运用和实战

    悲观锁 维基百科悲观锁的解释 悲观锁分为两种锁(数据库提供实现) 读锁/共享锁读锁可被其他线程所共享,如果是读取的...

网友评论

      本文标题:数据库的悲观锁

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