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

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

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

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

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

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

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

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

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

MySQL的锁机制与存储引擎相关,不同的存储引擎支持的锁类型和粒度可能有所不同。例如,MyISAM使用表级锁&#

10-03 20:30