🔒SQL

37

1. 共享锁(Shared Locks):

  • 允许多个事务同时读取同一资源,但不允许并发的写入。其他事务可以同时获取共享锁,以便读取数据。

2. 排他锁(Exclusive Locks):

  • 用于独占资源,允许持有该锁的事务对资源进行修改,并且其他事务无法同时获取排他锁,防止并发修改。

3. 更新锁(Update Locks):

  • 在读取数据时阻止其他事务修改数据,但允许其他事务读取数据。它是共享锁和排他锁之间的一种折中锁。

4. 意向锁(Intent Locks):

  • 意向锁是一种指示事务将要在资源上设置何种级别的锁的信号。分为意向共享锁和意向排他锁。

5. 表级锁(Table Locks):

  • 锁定整个表,限制其他事务对整个表的访问。当事务需要在整个表上执行操作时使用。

6. 页级锁(Page Locks):

  • 在数据页级别上进行锁定,限制其他事务对指定数据页的访问。用于控制特定数据页的并发访问。

7. 行级锁(Row-level Locks):

  • 是最细粒度的锁,用于锁定单独的数据行。允许其他事务对表中其他行进行访问和操作。

8. 区域锁(Range Locks):

  • 锁定数据的特定范围或区域,而不是单独的行或整个表。它们用于对范围数据进行操作时保持数据的一致性。

这些锁类型在数据库系统中起着关键作用,用于控制并发访问、保护数据的一致性和完整性,同时也会影响数据库的性能。数据库管理系统会根据事务的需求和操作自动选择合适的锁类型来维护数据的正确性和并发性。