mysql面试题10:MySQL中有哪几种锁?表级锁、行级锁、页面锁区别和联系?

在这里插入图片描述

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点

面试官:Mysql中有哪几种锁?

在MySQL中,主要有以下几种类型的锁:

  1. 共享锁(Shared Lock):也称为读锁。多个事务可以同时持有共享锁,可以读取但不能修改被锁定的数据。其他事务也可以获取共享锁,但不能获取排他锁。

  2. 排他锁(Exclusive Lock):也称为写锁。事务在获取排他锁后,可以对被锁定的数据进行读取和修改。其他事务不能获取排他锁。

  3. 记录锁(Record Lock):也称为行锁。在使用InnoDB存储引擎时,MySQL可以对表中的记录进行加锁,保证并发操作的正确性。记录锁只对指定的记录生效。

  4. 表锁(Table Lock):锁定整个表,在使用MyISAM存储引擎时,MySQL使用表级锁来进行并发控制。

  5. 页面锁(Page Lock):在使用InnoDB存储引擎时,MySQL会根据需要将相邻的多个记录组织到一个页面中,对这个页面加锁,称为页面锁。

  6. 间隙锁(Gap Lock):用于保护索引范围之间的间隙,防止其他事务在间隙中插入新数据。

猜你喜欢

转载自blog.csdn.net/qq_27471405/article/details/133442771