请解释一下数据库中的共享锁和排他锁的概念,以及它们的区别是什么?

题目

请解释一下数据库中的共享锁和排他锁的概念,以及它们的区别是什么?

正确答案
  • 共享锁(Shared Lock)允许多个事务同时获取读取访问权限,但阻止其他事务获取排他锁。多个事务可以同时持有共享锁,这种情况下,不会出现数据冲突。适用于读取操作。
  • 排他锁(Exclusive Lock)在事务需要修改数据时获取,阻止其他事务获取共享锁或排他锁。只有一个事务可以持有排他锁,避免并发写入引起的数据混乱。