数据库第九章.ppt
第九章关系查询处理及其查询优化3.投影的串接定律((E))≡(E) 这里,E是关系代数表达式,Ai(i=1,2,…,n),Bj(j=1,2,…,m)是属性名且{A1,A2,…,An}构成{B1,B2,…,Bm}的子集。4.选择的串接定律((E))≡(E) 这里,E是关系代数表达式,F1、F2是选择条件。选择的串接律说明选择条件可以合并。这样一次就可检查全部条件。第5页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化5.选择与投影操作的交换律σF((E))≡(σF(E)) 选择条件F只涉及属性A1,…,An。 若F中有不属于A1,…,An的属性B1,…,Bm则有更一般的规则:(σF(E))≡(σF((E)))第6页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化6.选择与笛卡尔积的交换律 如果F中涉及的属性都是E1中的属性,则(E1×E2)≡(E1)×E2 如果F=F1∧F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则由上面的等价变换规则1,4,6可推出:(E1×E2)≡(E1)×(E2) 若F1只涉及E1中的属性,F2涉及E1和E2两者的属性,则仍有(E1×E2)≡((E1)×E2) 它使部分选择在笛卡尔积前先做。第7页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化7.选择与并的分配律 设E=E1∪E2,E1,E2有相同的属性名,则σF(E1∪E2)≡σF(E1)∪σF(E2)8.选择与差运算的分配律 若E1与E2有相同的属性名,则σF(E1-E2)≡σF(E1)-σF(E2)9.选择对自然连接的分配律σF(E1E2)≡σF(E1)σF(E2)F只涉及E1与E2的公共属性第8页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化10.投影与笛卡尔积的分配律 设E1和E2是两个关系表达式,A1,…,An是E1的属性,B1,…,Bm是E2的属性,则(E1×E2)≡(E1)×(E2)11.投影与并的分配律 设E1和E2有相同的属性名,则 (E1∪E2)≡(E1)∪(E2)第9页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化典型的启发式规则:1.选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条2.把投影运算和选择运算同时进行如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完成所有的这些运算以避免重复扫描关系第10页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化3.把投影同其前或其后的双目运算结合起来4.把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算5.找出公共子表达式如果这种重复出现的子表达式的结果不是很大的关系并且从外存中读入这个关系比计算该子表达式的时间少得多,则先计算一次公共子表达式并把结果写入中间文件是合算的当查询的是视图时,定义视图的表达式就是公共子表达式的情况第11页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化优化关系表达式的算法。 算法:关系表达式的优化 输入:一个关系表达式的查询树 输出:优化的查询树方法: (1)利用等价变换规则4把形如σF1∧F2∧…∧Fn(E)变换为σF1(σF2(…(σFn(E))…))。 (2)对每一个选择,利用等价变换规则4~9尽可能把它移到树的叶端。第12页,共25页,星期六,2024年,5月第九章关系查询处理及其查询优化 (3)对每一个投影利用等价变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。注意:等价变换规则3使一些投影消失规则5把一个投影分裂为两个,其中一个有可能被移向树的叶端 (4)利用等价变换规则3~5把选择和投影的串接合并成