关系代数表达式_2.3.查询表达式的运算

1.实体化方法

c09c1e0df7205d5ea66710e682763d8f.png

选择+投影

过程:从树的最底层开始,输入关系利用前面算法执行运算,并将结果保存到临时关系中作为高一层和输入

66b4400e37e97ae217d498c5dbfe21bb.png

代价:所有运算代价和+把中间结果写回磁盘的代价

所以需要估计中间结果的代价

0546cb41bf8b12f3c5ca79060e67782c.png

2.流水线方法

流水线方法将运算组成流水线,一个运算结果传送到下一个运算,从而去除读写临时关系的代价

流水线是通过系统中的进程或线程建模,从流水化的输入中接受元组流并产生一个元组流作为输出,对流水线中每一相邻操作,均创建缓冲区保存上一操作输出的元祖

3ea407e6333cb07bb2701ec655347436.png

采用流水线会对一些操作的执行算法产生限制。

1.连接时输入来自流水线,可以使用索引嵌套循环,但归并连接不能使用

2.由于这个原因,流水线方法往往比实体化方法的代价要高

3.也正是由于这个原因,实体化方法更容易被接受,使用。采用双缓冲技术提高实体化方法的效率

一个SQL语句来了之后先进行语法分析,生成语法树,再生成逻辑查询计划,进行优化后,在优化后的逻辑查询计划的基础之上再生成物理查询计划,这个过程不是单线执行的,不是一次性就结束了,实际上是要执行多次的

我们生成一个逻辑查询计划,要对其进行优化,在基础上生成物理查询计划,再对物理查询计划优化,最后生成一个查询策略,不是生成查询策略就结束了,而是这个过程要再返回去,再对逻辑查询进行优化再生成物理查询计划,对两个物理查询计划进行比较,选择较小的,然后再优化再生成策略,一直到把所有的等价策略都试完了,我们选一个代价较小的查询策略

逻辑层次的查询优化,实际上就是关系代数表达式树的优化,主要用关系理论

物理查询计划的选择

7b4799aa32202f2c07073564e9f82490.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值