SQL Server 中的闩锁模式、等待类型及争用问题解析
1. 闩锁模式
在访问对象时,闩锁有五种不同的模式可供使用,以下是对这五种模式的详细描述:
- SH(共享闩锁) :用于读取页面数据。
- UP(更新闩锁) :当需要修改页面时使用,使用此闩锁时,页面仍可被其他闩锁读取。
- EX(排他闩锁) :同样用于页面修改,但与更新闩锁不同,排他闩锁不允许其他闩锁模式进行读写访问。
- KP(保持闩锁) :用于保护页面,防止其被销毁闩锁销毁,除销毁模式外,与其他所有闩锁模式兼容。
- DT(销毁闩锁) :用于从内存中移除内容,例如 SQL Server 释放内存中的数据页时。
这些闩锁模式与锁的模式有相似之处,并且它们之间也存在兼容性关系,具体如下表所示:
| | SH | UP | EX | KP | DT |
| — | — | — | — | — | — |
| SH | Yes | Yes | No | Yes | No |
| UP | Yes | No | No | Yes | No |
| EX | No | No | No | Yes | No |
| KP | Yes | Yes | Yes | Yes | No |
| DT | No | No | No | No | No |
与锁不同,闩锁完全由 SQL Server 引擎控制,我们无法像控制锁那样修改闩
超级会员免费看
订阅专栏 解锁全文
2187

被折叠的 条评论
为什么被折叠?



