文件名称:检查*方法-ubuntu 18.04 安装opencv3.4.5的教程(图解)
文件大小:4.99MB
文件格式:PDF
更新时间:2024-07-15 01:58:59
数据库系统概 王珊 课后习题
七、*的粒度 1.*粒度 *对象的大小称为*粒度(Granularity)。*对象可以是逻辑单元,也可以是物理单元。 (1)*粒度与系统的关系 *粒度与系统的并发度和并发控制的开销密切相关。 ①*的粒度越大,数据库所能够*的数据单元就越少,并发度就越小,系统开销也越小; ②*的粒度越小,并发度较高,但系统开销也就越大。 (2)粒度的选择 在一个系统中同时支持多种*粒度供不同的事务选择的*方法称为多粒度*。选择*粒度时应该同 时考虑*开销和并发度两个因素,适当选择*粒度以求得最优的效果。 ①需要处理大量元组的事务可以以关系为*粒度; ②需要处理多个关系的大量元组的事务可以以数据库为*粒度; ③对于处理少量元组的用户事务,以元组为*粒度比较合适。 2.多粒度* (1)结构 多粒度树的根结点是整个数据库,表示最大的数据粒度。叶结点表示最小的数据粒度。如图 11-4 所示定义 了一个三级多粒度树。 11-4 三级粒度树 (2)显式*和隐式* 多粒度*协议允许多粒度树中的每个结点被独立地加锁。对一个结点加锁意味着这个结点的所有后裔结点 也被加以同样类型的锁。因此,在多粒度*中一个数据对象可能以两种方式*,显式*和隐式*。 ①显式* 显式*是应事务的要求直接加到数据对象上的*。 ②隐式* 隐式*是该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象加上了锁。 (3)检查*方法 系统检查*冲突时不仅要检查显式*还要检查隐式*。 ①对某个数据对象加锁,系统要检查该数据对象上有无显式*与之冲突; ②检查其所有上级结点,看本事务的显式*是否与该数据对象上的隐式*冲突; ③检查其所有下级结点,看上面的显式*是否与本事务的隐式*冲突。 3.意向锁 如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对一结点加锁时,必须先对它的上层结点 加意向锁。三种常用的意向锁包括意向共享锁(Intent Share Lock,简称 IS 锁);意向排它锁(Intent Exclusive Lock, 简称 IX 锁);共享意向排它锁(Share Intent Exclusive Lock,简称 SIX 锁)。 (1)IS 锁 如果对一个数据对象加 IS 锁,表示它的后裔结点拟(意向)加 S 锁。 (2)IX 锁 如果对一个数据对象加 IX 锁,表示它的后裔结点拟(意向)加 X 锁。 (3)SIX 锁 如果对一个数据对象加 SIX 锁,表示对它加 S 锁,再加 IX 锁,即 SIX=S+IX。 103