数据库锁

2024/4/22 15:47:20

悲观锁(Pessimistic Locking)是一种数据库锁定机制

悲观锁(Pessimistic Locking)是一种数据库锁定机制,用于防止多个事务同时修改同一数据记录。以下是关于悲观锁的一些详细信息: 锁定数据:当事务对一条记录进行操作时,悲观锁会阻止其他事务对这条记录进行修…

Mysql面试必备知识点

1、MySQL 相关存储引擎 因为目前大多互联网公司,用的最多的存储引擎就是 myisam 和 innodb。大多问 MySQL 有哪些存储引擎啊?都有什么区别?请详细说明一下,基本都是想面试者回答关于 myisam 和 innodb 引擎。 1.1)、…

详解zookeeper分布式锁教程

案例&#xff1a; 减少库存案例&#xff1a;多线程对共享数据并发操作问题&#xff1b; 线程安全问题&#xff1a;同步代码块和锁机制来解决&#xff1b;导入junit依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://mav…

数据库中的锁

1 前言 数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁&#xff09;&#xff0c;所以这里做个简明解释&#xff0c;为下面描述方便&#xff0c;这里用T1代表一个数据库执行请求&#xff0c;T2代表另一个请求&#xff0c;也可以理解为T1为一个线程…

【面经】什么是行锁/表锁,什么时候锁行/锁表

什么是行锁/表锁 行锁是指在事务执行期间&#xff0c;仅对数据表中的某一行(或某几行)加锁&#xff0c;其他行不受影响。 行锁适用于需要对表中部分数据进行修改或查询的情况。 它可以防止多个事务同时修改同一行数据&#xff0c;从而保证数据的一致性和完整性。 在大多数情况…

mysql MDL读写锁阻塞,以及online ddl造成的“插队”现象

mysql MDL读写锁阻塞&#xff0c;以及online ddl造成的“插队”现象 针对上图的sessionC由于要获取MDL 写锁&#xff0c;而由于sessionA获取了MDL读锁&#xff0c;且没有提交事务&#xff0c;导致读锁未释放&#xff0c;又因为读写锁之间不兼容&#xff0c;导致sessionC被block…

mysql排它锁(FOR UPDATE) 场景介绍

场景一: 当前使用for UPDATE查询,其他地方查询 -- 其他地方也使用for UPDATE会堵塞, 其他地方未使用for UPDATE不会堵塞 1. 当前A(不区分是否为事务里)使用for UPDATE查询 SELECT * FROM saas_employee_label_person where id 1 for UPDATE 1.1 其他地方B(不在上一个连…

单机秒杀与分布式秒杀

单机 秒杀的场景&#xff0c;可以进行多级淘汰。 1 、秒杀之前几天&#xff0c;先把“预约”的账号洗一遍&#xff0c;留下预售数量 200%左右的账号&#xff0c;其他账号秒杀当天的请求直接抛弃。 2 、秒杀当场&#xff0c;按照请求缓存队列随机枪毙请求&#xff0c;剩下 110%。…

Mysql数据库之MVCC

MVCC&#xff08;Multiversion Concurrency Control&#xff09;&#xff0c;即多版本并发控制技术&#xff0c;结合行锁实现数据的读不加锁&#xff0c;读写不冲突&#xff0c;在读多写少的场景大幅提升性能&#xff0c;MVCC 主要是为了解决 Repeatable-Read 事务隔离级别下事…