dremio 执行前的规划在干什么 ?

dremio 执行前并不会直接对sql 进行直接查询,而是对现有的执行的脚本进行规划分析

它首先确定所有 反射是否至少有一个表与查询引用的表和视图相同。如果有多个反射,Dremio 会对其进行评估,以确定它们是否满足查询。然后,如果其中 有 反射确实满足查询,Dremio 将生成使用它们的查询计划。

然后,Dremio 将计划的成本 与 直接针对表 执行查询的成本进行比较,并选择成本较低的计划。

最后,Dremio 执行选定的查询计划。通常,使用一个或多个反射的计划 比 对原始数据运行的计划成本更低。
 

这是dremio 系统优化的一部分,因此不管否此表上是否有反射,或者建立在此表上的其他反射,都会作为查找的一部分

分为三个阶段

1、考虑  

在此阶段,计划器将在现有反射中搜索包含可满足查询的列的反射。规划器还确定它是否可以使用星片反射

2. 匹配

计划器为原始用户查询生成替换计划。它搜索“考虑”阶段的反射,并尝试将每个反射匹配到用户查询的替代形式中。然后,每个成功的匹配都会注册为替换计划。在这一点上,尚未考虑计划成本。

3、选择

计划员使用动态规划方法,以统计数据、成本模型和优化规则作为输入,探索所有替换子计划。选择成本最低的计划,其中成本是估计行数、CPU、I/O、网络和内存的函数。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道 ||

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值