Q82_Part B
数据库表T1具有2000条记录,并占用80个磁盘块。另一个表T2具有400条记录,并占用20个磁盘块。必须根据指定的连接条件对这两个表进行连接,该连接条件需要针对这两个表中的每对记录进行评估。可用的内存缓冲区空间可以在任何时间点同时精确地保存T1的一个记录块和T2的一个记录块。在任何一张表上都没有索引。
如果代替嵌套循环连接,则使用块嵌套循环加入,再次使用外环中最合适的表选择,读取数据所需的块访问数量的减少
(A) 0
(B) 30400
(C) 38400
(D) 798400答案: (B)
解释:
块访问次数= n r * b s + b r
其中b r和b s分别是关系R和S中的块数,n r是关系R中的元组数。我们选择具有少量元组的关系作为外部关系R。因此,R为T2。
块访问数量= 400 * 80 + 20 = 32020内存缓冲区空间同时保存T1的一个记录块和T2的一个记录块。
因此,块访问数为80 * 20 + 20 = 1620因此,块访问总数= 32020 – 1620 = 30400
因此,选项(B)是正确的。
如果您在以上文章中发现任何错误,请在下面发表评论。
这个问题的测验