Mysql中有哪些常见的锁?

提问者:帅平 问题分类:面试刷题
Mysql中有哪些常见的锁?
1 个回答
心尖爱人
心尖爱人
mysql常见的锁有5种,分别是:
1、共享锁(Shared Lock):也称为读锁,多个事务可以同时持有共享锁,用于保证读操作的一致性。共享锁之间不会互相阻塞,但会与排它锁互斥。
2、排它锁(Exclusive Lock):也称为写锁,只有一个事务可以持有排它锁,用于保证写操作的原子性。排它锁与其他任何锁都互斥,包括共享锁和排它锁。
3、记录锁(Record Lock):用于保护单个记录的锁,可以是共享锁或排它锁。记录锁是在存储引擎层实现的,不同的存储引擎可能有不同的实现方式。
4、表锁(Table Lock):锁定整个表,可以是共享锁或排它锁。表锁是在MySQL服务器层实现的,对整个表进行锁定,会对其他事务的读写操作产生阻塞。
5、行锁(Row Lock):也称为行级锁,用于保护表中的行数据。行锁可以是共享锁或排它锁,不同的事务可以同时持有不同行的共享锁,但只能有一个事务持有某一行的排它锁。
发布于:8个月前 (09-22) IP属地:四川省
国民小哥哥
国民小哥哥
需要注意的是,MySQL的锁机制是基于存储引擎实现的,不同的存储引擎可能有不同的锁实现方式。常见的存储引擎包括InnoDB、MyISAM等,它们在锁的粒度、并发性能等方面有所不同。
发布于:8个月前 (09-22) IP属地:四川省
我来回答