Code前端首页关于Code前端联系我们

mysql数据库是如何实现事务隔离的?

terry 2年前 (2023-09-26) 阅读数 41 #数据库

事物的隔离是如何实现的?

是基于锁实现的。

有哪些类型的锁?下面分别介绍一下

。在DBMS中,根据锁的粒度不同,数据库锁可以分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)、页级锁(BDB引擎)。

行级锁定

行级锁定是Mysql中最细粒度的锁定,即只锁定当前操作的行。行级锁可以显着减少数据库操作中的冲突。锁定粒度最小,但锁定开销也最大。行级锁分为共享锁和排它锁。

特点

高开销,慢锁;可能会发生死锁;锁粒度最小,发生锁冲突的概率最低,并发性最高。

表级锁

表级锁是MySQL中锁定粒度最大的锁。意味着当前操作的整个表将被锁定。它易于实现,消耗资源少,并且被大多数MySQL引擎支持。最常用的MYISAM和INNODB都支持表级锁定。表级锁分为共享表读锁(共享锁)和排他表写锁(排他锁)。

特点

低开销,快速锁定;没有死锁;锁粒度高,锁冲突概率最高,并发性最低。

页级锁

页级锁是MySQL中的一种锁,其锁定粒度介于行级锁和表级锁之间。表级锁速度快,但冲突较多。行级锁冲突很少,但速度很慢。因此采用了折衷的页级别,一次锁定一组相邻的记录。

特点

开销和锁时间介于表锁和行锁之间;会发生死锁;锁定粒度介于表锁和行锁之间,并发度中等

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门