考虑一个包含 16384 条记录的文件。每条记录的长度为 32 个字节,其关键字段的大小为 6 个字节。文件在非关键字段上排序,文件组织是无跨度的。该文件存储在块大小为1024字节的文件系统中,块指针的大小为10字节。如果二级索引建立在文件的关键字段上,并采用多级索引方案存储二级索引,则多级索引中一级和二级块的数量分别为。
(一) 8 和 0
(B) 128 和 6
(C) 256 和 4
(四) 512和5答案: (C)
说明:索引机制用于优化对文件中管理的数据(记录)的某些访问。例如,图书馆中的作者目录是一种索引。索引文件由以下形式的记录(称为索引条目)组成
-----------------------------------
| Search-Key | Pointer to Block |
-----------------------------------
如果甚至外部索引太大而无法放入主内存,则可以创建另一个级别的索引,依此类推。
Number of records in file = 16384
Record size = 32 bytes
Key Size = 6 bytes
Block Size on file system = 1024 bytes
Size of Block Pointer = 10 bytes
Size of a record or index Entry = 10 + 6 = 16
Number of blocks in first level = (Number of records in file)/
(Disk Block Size)
= (16384 * 16)/(1024)
= 16 * 16
= 256
In second level, there will be 256 * 16 entries.
Number of blocks in second level = (Number of entries) /
(Block Size)
= (256 * 16) / 1024
= 4
这个问题的测验