数据库中全局锁、表级锁、行级锁的区别

一、全局锁(锁数据库)

        会阻塞整个数据库的所有操作,只允许一个用户对数据库进行写操作,其他用户无法对数据库进行读写操作。经常用于对整个数据库进行备份恢复等操作。

二、表级锁(锁表)

        针对特定表的锁定机制。当一个事务正在修改某个表的时候,其他事务无法同时修改该表,但可以读取该表;表级锁包括两种类型共享锁和排它锁

共享锁允许多个事务同时读取同一张表,但不允许对该表进行写操作

排它锁:只允许一个事务修改该表,其他事务既不能读取该表,也不能修改该表

表级锁优点对于控制并发访问非常有效,缺点是如果多个事务需要同时修改同一行数据,就会出现死锁的情况。

三、行级锁(锁一行数据)

        是最细粒度的锁定机制,只锁定表中的某一行数据,而不是整个表或整个数据库。行级锁允许多个事务同时修改同一张表,但是只有在修改同一行数据时,才会阻塞其他事务的操作。

        行级锁能够有效地提高并发性和可用性,并减少死锁的情况,但是也会增加额外的开销和复杂性。因此,在使用行级锁时需要谨慎考虑其影响,避免出现意想不到的问题。

总之,全局锁就是锁数据库的,用来备份和恢复数据库数据的;表级锁是锁整张表只能读表不能改表;行级锁是锁一行数据的,可以提高并发性和可用性,减少死锁情况,行级锁只有多个事务修改同一行数据才会阻塞锁的粒度越低,并发性和可用性越好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fighting!899

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值