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