将锁粒度与主要取舍匹配
正确答案:数据库或表级锁 → 锁数量少、管理开销低,但阻塞范围大;页级锁 → 在管理成本与并发度之间折中;元组级锁 → 不冲突记录可高并发,但锁数量和管理成本高
合适粒度取决于访问范围;扫描整表与只改一行通常不应机械使用同一粒度
Tab / Shift+Tab 切换项目,方向键选择;Ctrl+Enter 提交答案
请先完成作答
正确答案:数据库或表级锁 → 锁数量少、管理开销低,但阻塞范围大;页级锁 → 在管理成本与并发度之间折中;元组级锁 → 不冲突记录可高并发,但锁数量和管理成本高
合适粒度取决于访问范围;扫描整表与只改一行通常不应机械使用同一粒度
Tab / Shift+Tab 切换项目,方向键选择;Ctrl+Enter 提交答案
请先完成作答
正确答案:IS → 事务准备在后裔结点取得 S 锁;IX → 事务准备在后裔结点取得 X 锁;SIX → 当前结点持有 S 锁,同时准备在部分后裔取得 X 锁
意向锁是上层的层级声明,不等于已经在某个具体后裔取得相应 S 或 X 锁
Tab / Shift+Tab 切换项目,方向键选择;Ctrl+Enter 提交答案
请先完成作答
正确答案:不等于,IX 只声明后裔写意向,还需对 L1 显式申请 X 锁
意向锁让上层请求快速发现潜在下层冲突,实际目标对象仍需对应的显式锁
可按数字键选择;请先作答,再提交答案
请先完成作答
正确答案:在数据库结点申请 IX → 在关系 R1 结点申请 IX → 在包含 L1 的页结点申请 IX → 在元组 L1 上申请 X → 完成后按从 L1 向祖先的反向顺序释放
多粒度加锁通常自上而下声明意向,释放自下而上,且仍要满足事务采用的 2PL 边界
Tab 切换移动按钮,Enter 或空格移动;Ctrl+Enter 提交答案
请先完成作答
正确答案:基于封锁 → 冲突访问通过锁相容性转换为等待;时间戳排序 → 按事务时间戳拒绝违反顺序的读写;乐观并发控制 → 先执行,在验证或提交阶段检测冲突;MVCC → 为读取选择可见旧版本,写入和提交仍检查冲突
各路线把冲突检查放在不同阶段,适用性取决于读写比例、冲突率和回滚成本
Tab / Shift+Tab 切换项目,方向键选择;Ctrl+Enter 提交答案
请先完成作答
正确答案:读事务可能读取符合可见性规则的旧版本、可以减少部分读写之间的直接阻塞、写写冲突和提交验证仍然存在、旧版本需要保存、回收并纳入空间管理
多版本改变读路径并降低部分冲突,但不消除写冲突、隔离语义和版本治理成本
可按数字键选择;请先作答,再提交答案
请先完成作答
对照答案:T2 可以读取可见的 Q1,不必直接等待 T1 的未提交写入,从而减少读写阻塞;T1 的 Q2 只有满足提交和冲突规则后才对后续快照可见。系统仍要处理写写冲突、时间戳或事务 ID、回滚、旧版本保存与垃圾回收,以及目标隔离级别下是否允许特定异常
请先在头脑中组织答案,再查看对照答案