查询计划中自适应聚合操作符和属性的放置的制作方法

文档序号:27611789发布日期:2021-11-27 03:01阅读:来源:国知局

技术特征:
1.一种方法,包括:接收查询计划,所述查询计划包括一组查询操作,所述一组查询操作包括至少一个聚合和至少一个连接操作;分析所述查询计划以识别冗余的聚合;至少部分基于所述分析来移除所述聚合;确定对应于所述查询计划的至少一个查询操作的至少一个聚合属性;至少部分基于所述至少一个聚合属性,在所述查询计划中插入至少一个自适应聚合操作符;和至少部分地基于在所述查询计划中插入的至少一个自适应聚合操作符来提供修改的查询计划。2.根据权利要求1所述的方法,其中分析所述查询计划以识别冗余的聚合包括:当第二聚合被包括在所述查询计划中时,确定第一聚合被保证,所述第一聚合和所述第二聚合对应于所述查询计划的不同部分处的不同查询操作,所述查询计划包括具有多个节点的树结构,每个节点对应于特定查询操作;和作为上拉阶段的一部分,从所述查询计划中移除所述第一聚合。3.根据权利要求1所述的方法,其中确定对应于所述查询计划的至少一个查询操作的至少一个聚合属性包括:确定用于与所述查询计划的所述至少一个查询操作相关联的至少一个聚合属性;和作为下推阶段的一部分,将所述至少一个聚合属性分配给所述查询计划的所述至少一个查询操作。4.根据权利要求3所述的方法,其中所述至少一个聚合属性包括一组聚合属性,其中每个聚合属性被分配给所述查询计划的特定查询操作,并且被分配了聚合属性的多个查询操作对应于所述查询计划中的一组查询操作,当在所述一组查询操作的每个查询操作处评估特定聚合时,所述一组查询操作在语义上是等效的。5.根据权利要求4所述的方法,其中所述一组聚合属性包括可拆分属性、可分解属性或重复敏感性属性。6.根据权利要求1所述的方法,其中在所述查询计划中插入所述至少一个自适应聚合操作符包括:分析特定聚合属性以确定要分配给所述查询计划的特定查询操作的聚合操作符的类型;以及至少部分地基于阈值来生成至少一个自适应聚合操作,所述阈值对应于与所述聚合相关联的关键字的数量或关键字长度。7.一种方法,包括:接收查询计划,所述查询计划包括一组查询操作,所述一组查询操作包括至少一个聚合;分析所述查询计划以识别聚合;确定所述聚合是重复不敏感的;至少部分基于对来自所述查询计划的特定查询操作的分析,在所述查询计划中插入至少一个自适应聚合操作符;和
至少部分地基于在所述查询计划中插入的至少一个自适应聚合操作符来提供修改的查询计划。8.根据权利要求7所述的方法,其中所述至少一个自适应聚合操作符包括自适应尝试去重复操作符。9.根据权利要求8所述的方法,其中所述自适应尝试去重复操作符被插入到连接构建操作符的下方,或者被插入到连接探查操作符的下方。10.根据权利要求9所述的方法,其中所述自适应尝试去重复操作符由本地存储器预算来限制。11.根据权利要求9所述的方法,其中当缩减因子低于阈值时,所述自适应尝试去重复操作符切换到直通模式。12.根据权利要求7所述的方法,其中所述至少一个自适应聚合操作符包括子聚合操作符。13.根据权利要求12所述的方法,其中所述子聚合操作符被插入到散列连接的构建侧的下方,其中,连接构建操作符在所述连接构建操作符下方具有散列链接。14.根据权利要求13所述的方法,其中所述子聚合操作符由本地存储器限制,并基于本地观察到的缩减率切换到直通模式。15.根据权利要求7所述的方法,其中至少部分地基于对所述特定查询操作的分析,将所述至少一个自适应聚合操作符插入到所述查询计划中包括:基于一组因子分析所述特定查询操作的数据流,其中所述一组因子包括通过所述特定查询操作的数据,或者所述特定查询操作或其他查询操作的存储器使用。16.根据权利要求12所述的方法,其中所述查询计划包括树结构,所述树结构具有多个节点并具有顶点,每个节点对应于特定的查询操作,所述顶点表示来自所述多个节点的一对节点之间的数据流。17.一种系统,包括:至少一个处理器;和包括指令的存储器设备,当由所述至少一个处理器执行时,所述指令使得所述至少一个处理器执行操作,所述操作包括:接收查询计划,所述查询计划包括一组查询操作,所述一组查询操作包括至少一个聚合和至少一个连接操作;分析所述查询计划以识别冗余的聚合;至少部分基于所述分析来移除所述聚合;确定对应于所述查询计划的至少一个查询操作的至少一个聚合属性;至少部分基于所述至少一个聚合属性,在所述查询计划中插入至少一个自适应聚合操作符;和至少部分地基于在所述查询计划中插入的至少一个自适应聚合操作符来提供修改的查询计划。18.根据权利要求17所述的系统,其中分析所述查询计划以识别冗余的聚合还使得所述至少一个处理器执行还包括以下操作的操作:当第二聚合被包括在所述查询计划中时,确定第一聚合被保证,所述第一聚合和所述
第二聚合对应于所述查询计划的不同部分处的不同查询操作,所述查询计划包括具有多个节点的树结构,每个节点对应于特定查询操作;和作为上拉阶段的一部分,从所述查询计划中移除所述第一聚合。19.根据权利要求17所述的系统,其中确定对应于所述查询计划的至少一个查询操作的至少一个聚合属性还使得所述至少一个处理器执行还包括以下操作的操作:确定用于与所述查询计划的所述至少一个查询操作相关联的至少一个聚合属性;和作为下推阶段的一部分,将所述至少一个聚合属性分配给所述查询计划的所述至少一个查询操作。20.根据权利要求19所述的系统,其中所述至少一个聚合属性包括一组聚合属性,其中每个聚合属性被分配给所述查询计划的特定查询操作,并且被分配了聚合属性的多个查询操作对应于所述查询计划中的一组查询操作,当在所述一组查询操作的每个查询操作处评估特定聚合时,所述一组查询操作在语义上是等效的。21.根据权利要求20所述的系统,其中所述一组聚合属性包括可拆分属性、可分解属性或重复敏感性属性。22.根据权利要求17所述的系统,其中在所述查询计划中插入所述至少一个自适应聚合操作符还使得所述至少一个处理器执行还包括以下操作的操作:分析特定聚合属性以确定要分配给所述查询计划的特定查询操作的聚合操作符的类型;以及至少部分地基于阈值来生成至少一个自适应聚合操作,所述阈值对应于与所述聚合相关联的关键字的数量或关键字长度。23.一种系统,包括:至少一个处理器;和包括指令的存储器设备,当由所述至少一个处理器执行时,所述指令使得所述至少一个处理器执行操作,所述操作包括:接收查询计划,所述查询计划包括一组查询操作,所述一组查询操作包括至少一个聚合;分析所述查询计划以识别聚合;确定所述聚合是重复不敏感的;至少部分基于对来自所述查询计划的特定查询操作的分析,在所述查询计划中插入至少一个自适应聚合操作符;和至少部分地基于在所述查询计划中插入的至少一个自适应聚合操作符来提供修改的查询计划。24.根据权利要求23所述的系统,其中所述至少一个自适应聚合操作符包括自适应尝试去重复操作符。25.根据权利要求24所述的系统,其中所述自适应尝试去重复操作符被插入到连接构建操作符的下方,或者被插入到连接探查操作符的下方。26.根据权利要求25所述的系统,其中,所述自适应尝试去重复操作符由本地存储器预算来限制。27.根据权利要求25所述的系统,其中,当缩减因子低于阈值时,所述自适应尝试去重
复操作符切换到直通模式。28.根据权利要求23所述的系统,其中所述至少一个自适应聚合操作符包括子聚合操作符。29.根据权利要求28所述的系统,其中所述子聚合操作符被插入到散列连接的构建侧的下方,其中连接构建操作符在所述连接构建操作符下方具有散列链接,其中所述子聚合操作符由本地存储器限制,并基于本地观察到的缩减率切换到直通模式。30.根据权利要求23所述的系统,其中至少部分地基于对所述特定查询操作的分析,将所述至少一个自适应聚合操作符插入到查询计划中还使得所述至少一个处理器执行还包括以下操作的操作:基于一组因子分析所述特定查询操作的数据流,其中所述一组因子包括通过所述特定查询操作的数据,或者所述特定查询操作或其他查询操作的存储器使用。

技术总结
本主题技术接收查询计划,该查询计划包括一组查询操作,该组查询操作包括至少一个聚合和至少一个连接操作。本主题技术分析查询计划以识别冗余的聚合。本主题技术至少部分基于分析来移除聚合。本主题技术确定对应于查询计划的至少一个查询操作的至少一个聚合属性。本主题技术至少部分基于至少一个聚合属性在查询计划中插入至少一个自适应聚合操作符。本主题技术至少部分基于查询计划中插入的至少一个自适应聚合操作符来提供修改的查询计划。自适应聚合操作符来提供修改的查询计划。自适应聚合操作符来提供修改的查询计划。


技术研发人员:陈博纬 蒂埃里
受保护的技术使用者:斯诺弗雷克公司
技术研发日:2020.07.31
技术公布日:2021/11/26
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1