数据库中常见的锁机制详解

数据库中常见的锁机制详解

一、锁的基本概念与分类

数据库锁是数据库管理系统(DBMS)用于控制并发访问的核心机制,通过锁可以保证数据的一致性和完整性。根据不同的维度,锁可以分为以下几类:
golang专栏:https://duoke360.com/tutorial/path/golang

1. 按锁的粒度划分

  • 表级锁:锁定整张表
  • 页级锁:锁定数据页(物理存储单元)
  • 行级锁:锁定单行记录
  • 键范围锁:锁定索引键的范围

锁粒度越小,并发度越高,但锁开销越大。现代关系型数据库(如MySQL InnoDB)通常采用行级锁实现高并发。

2. 按锁的性质划分

  • 共享锁(S锁/读锁):允许多个事务同时读取数据
  • 排他锁(X锁/写锁):独占资源,阻止其他任何锁
  • 意向锁:表明事务"有意向"在更细粒度上加锁

二、常见锁类型详解

1. 乐观锁与悲观锁

悲观锁
  • 实现方式SELECT ... FOR UPDAT

你可能感兴趣的:(数据库和SQL,数据库,oracle)