mysql数据库是如何实现事务隔离的?
事物的隔离是如何实现的?
是基于锁实现的。
有哪些类型的锁?下面分别介绍一下
。在DBMS中,根据锁的粒度不同,数据库锁可以分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)、页级锁(BDB引擎)。
行级锁定
行级锁定是Mysql中最细粒度的锁定,即只锁定当前操作的行。行级锁可以显着减少数据库操作中的冲突。锁定粒度最小,但锁定开销也最大。行级锁分为共享锁和排它锁。
特点
高开销,慢锁;可能会发生死锁;锁粒度最小,发生锁冲突的概率最低,并发性最高。
表级锁
表级锁是MySQL中锁定粒度最大的锁。意味着当前操作的整个表将被锁定。它易于实现,消耗资源少,并且被大多数MySQL引擎支持。最常用的MYISAM和INNODB都支持表级锁定。表级锁分为共享表读锁(共享锁)和排他表写锁(排他锁)。
特点
低开销,快速锁定;没有死锁;锁粒度高,锁冲突概率最高,并发性最低。
页级锁
页级锁是MySQL中的一种锁,其锁定粒度介于行级锁和表级锁之间。表级锁速度快,但冲突较多。行级锁冲突很少,但速度很慢。因此采用了折衷的页级别,一次锁定一组相邻的记录。
特点
开销和锁时间介于表锁和行锁之间;会发生死锁;锁定粒度介于表锁和行锁之间,并发度中等
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。