MySQL 锁是 MySQL 使用的一种机制,它可以防止在多个事务之间冲突,并保证数据的一致性和完整性。
MySQL按锁的粒度划分:
表锁
- 全表锁(表级锁):锁定整张表,任何事务都不能对该表进行操作。
- 表读锁:允许多个事务并发读取该表,但不能修改。
- 表写锁:锁定整张表,任何事务都不能对该表进行读或写操作。
行锁:
- 共享锁(读锁):多个事务可以并发读取同一行数据,但不能修改。
- 排他锁(写锁):锁定该行数据,任何事务都不能读或写该行数据。
这些锁的粒度划分决定了锁定数据的范围,以及锁定数据后其他事务的操作限制。一般来说,越细粒度的锁可以提高并发度,但会导致锁管理的复杂度增加。因此,选择合适的锁粒度划分是一项重要的工作。