数据库中的封锁机制

梗概

  • 封锁机制是数据库管理系统(DBMS)用来[father::并发控制]的一种技术。它可以确保在同一时间只有一个事务可以访问某个数据项,从而避免数据的不一致性和并发访问引起的问题。
    • 通常是由DBMS根据[base::隔离级别]来进行自动加锁和释放
    • 也可由有人为是使用代码指定加锁和释放

封锁类型

  • [child::共享锁](Shared Lock)
    • 已经加了读锁的数据可以再加上其他的读锁
  • [child::独占锁](Exclusive Lock)
    • 对一个数据只能有一个X锁

封锁粒度

  • 表级封锁(Table-level locking):对整个表进行封锁,适用于小型数据库或者只有少量并发访问的情况。
  • 行级封锁(Row-level locking):对单行数据进行封锁,可以减少死锁风险,但会增加系统开销。

封锁协议

防止死锁

  • 防止死锁策略:通过等待、超时、杀死进程等方式避免死锁的发生。

封锁性能优化

child::封锁性能优化