10.4
-
a
保留了记录之间的顺序,但移动的记录较多,花费的时间也较多
-
b
移动的记录较少,花费的时间较少,但破坏了记录之间的顺序
-
c
不需要移动记录,但需要额外的空间来进行标记,在进行数据读取时要额外读取这些标记以及被标记删除的冗余数据,花费较多的空间和时间
10.5
- a
head | 4 | |||
---|---|---|---|---|
0 | 10101 | Srinivasan | Comp. Sci. | 65000 |
1 | 24556 | Turnamian | Finance | 9800 |
2 | 15151 | Mozart | Music | 40000 |
3 | 22222 | Einstein | Physics | 95000 |
4 | 6 | |||
5 | 33456 | Gold | Physics | 87000 |
6 | null | |||
7 | 58583 | Califieri | History | 62000 |
8 | 76543 | Singh | Finance | 80000 |
9 | 76766 | Crick | Biology | 72000 |
10 | 83821 | Brandt | Comp. Sci. | 92000 |
11 | 98345 | Kim | Elec. Eng. | 80000 |
- b
head | 2 | |||
---|---|---|---|---|
0 | 10101 | Srinivasan | Comp. Sci. | 65000 |
1 | 24556 | Turnamian | Finance | 9800 |
2 | 4 | |||
3 | 22222 | Einstein | Physics | 95000 |
4 | 6 | |||
5 | 33456 | Gold | Physics | 87000 |
6 | null | |||
7 | 58583 | Califieri | History | 62000 |
8 | 76543 | Singh | Finance | 80000 |
9 | 76766 | Crick | Biology | 72000 |
10 | 83821 | Brandt | Comp. Sci. | 92000 |
11 | 98345 | Kim | Elec. Eng. | 80000 |
- c
head | 4 | |||
---|---|---|---|---|
0 | 10101 | Srinivasan | Comp. Sci. | 65000 |
1 | 24556 | Turnamian | Finance | 9800 |
2 | 34556 | Thompson | Music | 67000 |
3 | 22222 | Einstein | Physics | 95000 |
4 | 6 | |||
5 | 33456 | Gold | Physics | 87000 |
6 | null | |||
7 | 58583 | Califieri | History | 62000 |
8 | 76543 | Singh | Finance | 80000 |
9 | 76766 | Crick | Biology | 72000 |
10 | 83821 | Brandt | Comp. Sci. | 92000 |
11 | 98345 | Kim | Elec. Eng. | 80000 |
11.1
- 每个属性(或属性组)都去添加索引,会花费大量的储存空间,同时在搜索时因为索引的变长,花费额外的时间
- 非主码的属性会经常更改,索引也会因此频繁的更改
11.2
不可能,根据主索引的定义,当排列的顺序定下来,主索引也就唯一了
11.15
当记录需要较少的定位和频繁的插入删除时
因为定位是稀疏索引的劣势,所以要少;但它插入和删除所需的维护开销较小,所以要多。