当前位置: 首页>后端>正文

sql server 行级读写锁 数据库行级锁

一、全局锁(锁数据库)

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

二、表级锁(锁表)

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

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

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

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

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

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

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

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


https://www.xamrdz.com/backend/3qt1960914.html

相关文章: