MySQL中的表级锁
文章目录
1.MySQL中表级锁的概念
表级锁显而易见就是对于数据库表的一种锁,通过表锁可以锁定表,避免并发事务下,导致表中数据不一致性。
表级锁的力度大,针对表上锁后,表中的数据可能都无法操作,只能读,影响的范围大,并且发送锁的冲突概率是最高的,因为后面还会有行级锁,如果通过事务对某一条数据进行了行级锁,那么再创建一个表级锁,就会导致事务无法提交的情况。
对于MySQL中的表级锁分为以下三种类型:
- 表锁
- 表锁是针对某张表设置一个lock锁。
- 元数据锁
- 元数据锁就是针对表结构的一种锁。
- 意向锁
- 对表设置锁时,会检查表中每一条数据是否有行级锁,可以通过意向锁避免设置表锁时去检查每一条数据是否有行级锁。
2.表锁的概念以及基本使用
2.1.表锁的分类以及概念
表级锁中的表锁又分为两类:
- 表共享读锁(read lock)
- 表独占