(1)
20000/40=500 需要500次磁盘块读写。
(2)
3层B+树索引需要3块B+树索引块即3块磁盘读写,索引得到“A=10”的指针,然后通过元组指针在R表中检索到该元组,需要1块数据块。共4次磁盘块读写。
(3)
20000/40=500 需要500次磁盘块读写,1200/30=40 需要40次磁盘块读写。
嵌套循环算法的数据存取是按照数据块读入内存,但是没有给出内存给这两个表分配的存放块数。假设在内存中存放x块R元组和y块S元组,外层循环(R表)内层循环(S表),读R表500块,读S表500/x遍,每遍40/y块,总计(500+500/x*40/y)块。
内层读的遍数等于外层的磁盘块与内存的存放块之比,内层每遍的块数等于内层的磁盘块与内存的存放块之比
(4)
有序
20000/40=500 需要500次磁盘块读写,1200/30=40 需要40次磁盘块读写。
块数:500+40=540(两个表都只扫描一遍)
无序
540+两个表排序代价
数据库作业19:第九章: 关系查询处理和查询优化
最新推荐文章于 2024-05-27 15:51:17 发布