目录
名词解释
- 代数优化:是指关系代数表达式的优化,也即按照一定规则,通过对关系代数表达式进行等价变换,改变代数表达式中操作的次序和组合,使查询更高效
- 物理优化:是指存取路径和底层操作算法的选择。选择依据可以是基于规则的(rule based)、基于代价的(cost based)、基于语义的(semantic based)
简答题
【答案】
应用题
(1)由于一个块能装40个R的元祖,所以需要20000/40=500块
(2)所需块数为4(3个B+树和一个数据)
(3)由于1200/30=40块,所以S作为外表,假设内存分配的块数为x,那么这40块需要40/x次装入,每次装入时都要重新读取R,所以总次数为40+500×(40 / x)
(4)有序的时候:(20000 ÷ 40) + (1200 ÷30) = 500 + 40 = 540 = T(有序)
无序的时候:T(排序) + T(有序)
【答案】
首先将SQL语句转为关系代数表达式
\[\Pi_{Cname}(\sigma_{Student.Sdept='IS'}(\sigma_{SC.Cno=Course.Cno}(\sigma_{Student.Sno=SC.Sno }(Student × SC) × Course))) \]将关系代数表达式转为查询树
优化
【答案】
(1):对teacher表进行扫描,查看元组性别为女的数据
(2):可以先通过索引找到Dno = 301的,然后顺着B+树的顺序集合来得到想要的数据即可。
(3):和(1)几乎一样,对表进行扫面,找到满足条件的
(4):先对year进行处理,找到之后判断salary是否满足条件
(5):对work表进行扫描,看数据是否满足条件。
【答案】