第九章笔记

第九章

      • 1.查询优化
      • 2.查询优化的一般准则
      • 3.常用的等价变换规则(重点)
        • l. 连接、笛卡尔积交换律
        • 2. 连接、笛卡尔积的结合律
        • 3.投影的串接定律
        • 4.选择的串接定律
        • 5.选择与投影的交换律
        • 6.选择与笛卡尔积的交换律
        • 7.选择与并的交换
        • 8.选择与差运算的交换
        • 9.投影与笛卡尔积的交换
        • 10.投影与并的交换
        • 小结

1.查询优化

查询优化对我们执行sql语句是有很多帮助的,在我们平时使用的sql中都是做了优化的,当然我们可能看不到,这是因为机器做了这些事情,那这些事机器是如何做的呢?

一般步骤:
1.将查询转换成某种内部表示,通常是语法树
2. 根据一定的等价变换规则把语法树转换成标准
 (优化)形式
 3. 选择低层的操作算法
	对于语法树中的每一个操作
	计算各种执行算法的执行代价
	选择代价小的执行算法
4. 生成查询计划(查询执行方案)
	查询计划是由一系列内部操作组成的。

我个人的理解就是减少其中做的多余的部分。

2.查询优化的一般准则

1.	选择运算应尽可能先做        
目的:减小中间关系
2.	在执行连接操作前对关系适当进行预处理
3. 按连接属性排序
	在连接属性上建立索引 
	投影运算和选择运算同时做
目的:避免重复扫描关系
4. 将投影运算与其前面或后面的双目运算结合
目的:减少扫描关系的遍数

3.常用的等价变换规则(重点)

这一章什么都可以不会,就这不行

l. 连接、笛卡尔积交换律

	E1 × E2 ≡ E2 × E1
	E1 等值连接 E2 ≡ E2 等值连接 E1         
	E1  自然连接 E2 ≡ E2 自然连接 E1

2. 连接、笛卡尔积的结合律

(E1×E2) × E3 ≡ E1 × (E2×E3)
(E1  等值连接 E2)   等值连接 E3  ≡  E1  等值连接  (E2 等值连接  E3)
(E1  自然连接  E2)  自然连接  E3 ≡ E1  自然连接   (E2  自然连接  E3)

3.投影的串接定律

π A1,A2, …,An(π B1,B2, …,Bm(E))≡ π A1,A2,…,An (E)

假设:
(1)	E是关系代数表达式
(2)	Ai(i=1,2,…,n), Bj(j=l,2,…,m)是属性名
(3){A1, A2, …, An}构成{Bl,B2,…,Bm}的子集

4.选择的串接定律

бF1 ( б F2(E))≡ бF1∧ F2(E)

5.选择与投影的交换律

(1)假设: 选择条件F只涉及属性A1,…,An
бF (πA1,A2,..,An(E))≡ πA1,A2, ...,An(бF(E))

(2)假设: F中有不属于A1, …,An的属性B1,…,Bm
    π A1,A2,…,An ( бF (E))≡ 
	       πA1,A2,…,An(бF (πA1,A2, …,An,B1,B2, …,Bm(E)))

6.选择与笛卡尔积的交换律

(1) 假设:F中涉及的属性都是E1中的属性
      бF (E1×E2)≡бF (E1)×E2 
(2) 假设:F=F1∧F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则由上面的等价变换规则1,4,6可推出:
      бF(E1×E2) ≡б F1(E1)×бF2 (E2)		   
(3) 假设: F=F1∧F2,
               F1只涉及E1中的属性,
               F2涉及E1和E2两者的属性
  бF(E1×E2)≡б F2(бF1(E1)×E2)
  
  它使部分选择在笛卡尔积前先做 

7.选择与并的交换

假设:E=E1∪E2,E1,E2有相同的属性名
бF(E1∪E2)≡ бF(E1)∪ бF(E2)

8.选择与差运算的交换

假设:E1与E2有相同的属性名
бF(E1-E2)≡ бF(E1) - бF(E2)

9.投影与笛卡尔积的交换

假设:E1和E2是两个关系表达式,
           A1,…,An是E1的属性,
           B1,…,Bm是E2的属性

π A1,A2, …,An,B1,B2, …,Bm (E1×E2)≡
π A1,A2, …,An(E1)× π B1,B2, …,Bm(E2)

10.投影与并的交换

假设:E1和E2 有相同的属性名
 	     π A1,A2, …,An(E1∪E2)≡
	    π A1,A2, …,An(E1)∪ π A1,A2, …,An(E2)

小结

1-2:   连接、笛卡尔积的交换律、结合律
3:    合并或分解投影运算
4:    合并或分解选择运算
5-8: 选择运算与其他运算交换
5,9,10: 投影运算与其他运算交换

你可能感兴趣的:(数据库)