锁兼容矩阵是描述两种锁类型能否共存于同一资源的表格,✔表示兼容允许共存,✘表示不兼容将阻塞;常见锁包括S(共享)、X(排他)、U(更新)、IU/IS(意向)锁,其兼容关系决定并发行为与死锁风险。
SQL数据库中的锁兼容性决定了多个事务能否同时持有不同类型的锁而不发生冲突。理解锁兼容矩阵,是排查死锁、优化并发性能的关键。
锁兼容矩阵是一个表格,描述了两种锁类型(如S锁和X锁)是否可以同时存在于同一资源上。如果矩阵中对应位置为“是”,表示兼容,允许共存;若为“否”,则不兼容,后请求的锁会被阻塞或直接拒绝(取决于隔离级别和锁策略)。
主流关系型数据库(如SQL Server、PostgreSQL)常用锁类型包括:
以下为简化版核心兼容矩阵(✔=兼容,✘=不兼容):
&