数据库作业:第九章: 关系查询处理和查询优化习题(未修正)

在这里插入图片描述
(1)首先读取表R,一块能装40块R元组读取的总块数是:20000/40=500块,即可得到结果;
(2)有三层B+树索引,数据块是3+1=4块;
(3)嵌套循环连接是指对外层循环的每一个元组,检索内层循环中的每一个元组。
首先读取表R和S,一般做法:在内存中尽可能多的装入某个表的若干块,留出一块存放另一个表的元组。设内存中可以存放10块R元组和1块S元组;
则读取总块数为:20000/40+(20000/(40*10)*1200/30=500+2000=2500块;
读R表500块,S表40块,50遍。连接后的元组数为20000个,设每块装40个元组,写成数据块是20000/40=500块;
总督写数据块=2500+500=3000块
(4)无序时排序后即变为有序;
①无序:将两表按照B属性排序(查了一下SQL排序原理,但是不是很懂)
②有序:读取两表:20000/40+1200/30=540块;
进行连接操作,连接元组数20000个,设每块装连接后的元组40个,则写成数据块:20000/40=500块
总数据块=540+500=1040块;

在这里插入图片描述
在这里插入图片描述
关系代数语法图为:
在这里插入图片描述
优化后为:
在这里插入图片描述

在这里插入图片描述(1)全表扫描;
(2)索引扫描算法;
(3)全表扫描;
(4)索引扫描算法;
(5)全表扫描;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关系代数语法树图:
在这里插入图片描述
优化后:
在这里插入图片描述

原创文章 23 获赞 25 访问量 1万+

猜你喜欢

转载自blog.csdn.net/karive/article/details/105849685