数据库系统原理: 封锁 (封锁粒度、封锁类型、封锁协议)

编程入门 行业动态 更新时间:2024-10-05 09:21:28

数据库系统原理: 封锁 (封锁<a href=https://www.elefans.com/category/jswz/34/1730361.html style=粒度、封锁类型、封锁协议)"/>

数据库系统原理: 封锁 (封锁粒度、封锁类型、封锁协议)

封锁

封锁粒度

MySQL 中提供了两种封锁粒度:行级锁以及表级锁。

应该尽量只锁定需要修改的那部分数据,而不是所有的资源。锁定的数据量越少,发生锁争用的可能就越小,系统的并发程度就越高。

但是加锁需要消耗资源,锁的各种操作(包括获取锁、释放锁、以及检查锁状态)都会增加系统开销。因此封锁粒度越小,系统开销就越大。

在选择封锁粒度时,需要在锁开销和并发程度之间做一个权衡。

 

封锁类型

1.读写锁

  • 排它锁(Exclusive),简写为 X 锁,又称写锁
  • 共享锁(Shared),简写为 S 锁,又称读锁

有以下两个规定:

  • 一个事务对数据对象 A 加了 X 锁,就可以对 A 进行读取和更新。加锁期间其它事务不能对 A 加任何锁。
  • 一个事务对数据对象 A 加了 S 锁,可以对 A 进行读取操作,但是不能进行更新操作。加锁期间其它事务能对 A 加 S 锁,但是不能加 X 锁。

锁的兼容关系如下:

-X

更多推荐

数据库系统原理: 封锁 (封锁粒度、封锁类型、封锁协议)

本文发布于:2024-02-28 13:33:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769929.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:粒度   原理   协议   类型   数据库系统

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!