CoolCaravan公司有一个数据库,其中包括一个名为Sites的表。表中的每条记录都包含以下字段: SiteID:10个字节 描述:80个字节 位置:20个字节 Gridref:10个字节
假设该表有1,300条记录并且物理存储在一个 磁盘块上的文件。每个磁盘块的大小为1,600字节。文件 在属性Description上排序。显示所有工作,计算 的:
记录大小= 120
阻塞因子= 10
存储整个文件所需的块数= 160
平均执行所需的块访问次数 以下SQL查询:
SELECT * FROM Sites WHERE Description = 'Banff Links';
平均执行所需的块访问次数 以下SQL查询(假设Gridref是唯一的):
SELECT * FROM Sites WHERE Gridref = 'NJ689637';
我正在读考试,我的笔记不清楚如何回答问题的最后两部分。
答案 0 :(得分:0)
我从不擅长回答这些测试
我会说:
5. 160(块数)/ 2
表格不是由Gridref排序的,因此最糟糕的情况是你必须搜索整个表格。最好的情况是,你只读了1个街区
因为Gridref是唯一的(假设表中定义了唯一约束),所以一找到结果就会停止搜索。
我也打算在第四季度开始,但我的答案变得非常漫长和令人费解,所以我认为这可能是错误的。
更新: 我针对Blocking factor in a DBMS检查了您对问题2和3的回答 他们似乎不正确。根据这篇文章他们应该是:
你是如何计算答案的?