Emp (eid, integer, did integer, sal; integer, hobby char(20)) Dept(did, integer, dname char(20), floor: integer, phone char(10)) Finance(did: integer, budget: real, sales: real, expenses, reaD)考虑下面的查询:
ELECT D dname, F budget FROM Emp E, Dept D. Finance F WHERE E did D, did AND D did a F did AND D, floor=I AND E. sal >=59000 AND E, hobby =yodeling(1)确定关系代数树(或者关系代数表达式),反映出正统的查询优化器会选择的操作顺序。
(2)列出关系查询优化器会考虑的连接顺序(即计算查询结果的关系连接顺序)(假设优化器遵循避免执行叉积操作的启发式规则。)简要解释一下原因
(3)假设有下面的一些信息。在Emp.did、Emp.sal、Dept. floor、Dept.did和Finance..did上存在非聚簇的B+树索引。系统的统计数据表明雇员的工资范围为10000~60000,雇员共有200项不同的嗜好,并且公司在整个建筑中占用2层。公司总共有50000个雇员,5000个部门(每个部门在数据库中有独立的财务信息)。公司使用的DBMS只采用一种连接方法,即索引循环嵌套连接算法
(a)如果在连接操作之前,应用所有的非连接操作,那么对查询的每个基本关系( Emp, Dept和 Finance),估算初步选择的元组数目
(b)根据你对上题的回答,在优化器所考虑的连接次序中哪一个的开销最小?