Mysql的各种锁

tim-qtp...大约 1 分钟MySQL数据库

简介
全局锁对整个数据库进行加锁,使其处于只读状态,主要用于全库逻辑备份。这会阻塞所有数据操作(如 INSERT、UPDATE、DELETE)和表结构更改操作(如 ALTER TABLE、DROP TABLE)。
表级锁1、表锁:对整张表进行锁定,它实现简单、资源消耗低且加载速度快。但并发性能较差。MyISAM 和 InnoDB 存储引擎均支持此锁。
锁定整张表后,其他事务无法对该表进行写操作,但可以读取数据。
🚀假设你有一张用户表 users,你需要对这张表进行批量更新操作
🚀可以使用表级锁锁定 users 表,确保在更新过程中没有其他事务修改数据
🚀锁定期间,其他事务可以读取数据,但不能插入、更新或删除数据
行级锁粒度最小,支持高并发,但加载开销较大,可能导致死锁。
简介
共享锁 (S 锁)读锁,事务在读取的时候获取共享锁,共享锁之间兼容。
排他锁 (X 锁)又称为写锁/独占锁,事务在修改记录的时候获取排他锁,不允许多个事务同时获取。排他锁之间不兼容。