《数据库》查询树优化

查询树的启发式优化

典型的启发式规则:

1.选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条

2.把投影运算和选择运算同时进行

如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完成所有的这些运算以避免重复扫描关系

3.把投影同其前或其后的双目运算结合起来

4.把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算

5.找出公共子表达式

例子:求选修了2号课程的学生姓名。

SELECT  Student.Sname

     FROM StudentSC

     WHERE Student.Sno=SC.Sno AND    SC.Cno=‘2’

 下面给出SQL语句的代数优化示例:

(1) 把SQL语句转换成查询树

     

(2)对应的关系代数语法树:

     

(3)优化:把选择σSC.Cno=‘2’移到叶端

        

   select  Student.Sname
     from Student
     where Student.Sno exists (select SC.Sno from SC where SC.Cno='2'); 

 


相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值