第 8 章 事务处理与锁

简介:


目录

8.1. FOR UPDATE SKIP LOCKED
8.2. FOR SHARE

8.1. FOR UPDATE SKIP LOCKED

当使用 FOR UPDATE 时,会锁住所有where匹配条件的记录,但有时我们只是修改其中的一条, 例如where条件匹配后跟随LIMIT 1,这时FOR UPDATE会锁住所有where匹配的记录,我们使用 SKIP LOCKED 可以跳过被锁记录,并找到一条没有加锁的记录,然后锁定。

SELECT field  
  
FROM your_table  
  
WHERE field1 = 'netkiller'  
  
AND field2 = 'neo'  
  
LIMIT 1  
  
FOR UPDATE SKIP LOCKED  
		

SKIP LOCKED 在高并发系统中十分重要




原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
|
存储 关系型数据库 MySQL
Mysql数据库—事务和锁
Mysql数据库—事务和锁
|
5月前
|
SQL 存储 关系型数据库
MySQL数据库——锁-表级锁(表锁、元数据锁、意向锁)
MySQL数据库——锁-表级锁(表锁、元数据锁、意向锁)
176 0
|
关系型数据库 MySQL 数据库
MySQL数据库中的事务机制与锁机制
MySQL数据库中的事务机制与锁机制。
97 2
|
数据库
【并发事务会产生哪些问题】
【并发事务会产生哪些问题】
124 0
|
6月前
|
SQL Oracle 安全
Oracle数据库中的事务和锁
【4月更文挑战第19天】Oracle数据库的事务和锁是确保数据完整性和并发控制的核心机制。事务遵循ACID原则,保证操作的原子性、一致性、隔离性和持久性。通过COMMIT或ROLLBACK来管理事务更改。锁包括共享锁(读)、排他锁(写)、行级锁和表级锁,用于控制并发访问。自动锁机制在DML操作时生效,防止数据冲突。事务和锁共同维护数据库的稳定和安全。
|
6月前
|
NoSQL Java 数据库
分布式事务的锁
分布式事务的锁
38 0
分布式事务的锁
|
6月前
|
SQL 关系型数据库 MySQL
MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)
MySQL事务原理分析(ACID特性、隔离级别、锁、MVCC、并发读异常、并发死锁以及如何避免死锁)
157 1
|
6月前
|
关系型数据库 MySQL 数据库
事务和锁:保证数据一致性
事务和锁:保证数据一致性
67 0
|
存储 关系型数据库 MySQL
Mysql数据库(2)—事务和锁
Mysql数据库(2)—事务和锁
139 0
Mysql数据库(2)—事务和锁
|
数据库
并发事务带来哪些问题?
并发事务带来哪些问题?
129 0