System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于节点探针的路径选择和执行方法和系统技术方案_技高网

一种基于节点探针的路径选择和执行方法和系统技术方案

技术编号:41200368 阅读:4 留言:0更新日期:2024-05-07 22:27
本发明专利技术涉及关系数据库查询优化技术领域,提供一种基于节点探针的路径选择和执行方法和系统,包括:采用优化器接收查询树,根据接收的查询树生成多个执行路径节点;根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点;计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子;采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成。本发明专利技术于节点探针的路径选择和执行方法和系统,可以主动有选择性地探测执行结果,对自身的估算行为进行演进,使猜测结果更佳接近真实结果,提高优化器在路径选择上的准确率。

【技术实现步骤摘要】

本专利技术涉及关系数据库查询优化,尤其涉及一种基于节点探针的路径选择和执行方法和系统


技术介绍

1、关系数据库在引人基于代价的查询优化(cbo)方式后,对查询的执行计划做了定量分析,对每一个可能的执行方式进行评估,选出代价最小的作为最优计划。查询代价估算的重点是代价估算模型,这是物理查询优化的依据。

2、除了代价估算模型外,选择率也是很重要的一个概念,对代价求解起着重要作用。数据库往往会采用随机抽样生成统计信息的方法对数据分布作出分析,由于优化器是根据预置前提和统计信息作出估算,尤其是由于统计信息存在失真度和时间有效性,无法确定失效或者偏差过大是否带来估算偏差,从而无法确定猜测结果是否符合预期。

3、图1为现有技术中关系数据库查询的路径选择和执行过程示例,如图1所示,优化器接收上层(一般为逻辑优化和重写)模块处理完毕的查询树,根据查询树生成多个执行路径,在其中选出一个它认为代价最小的路径作为最优路径传递给下层模块(计划器)后,工作已经完成,不会对后续发生的计划创建和执行过程产生关联。图2为实际应用中节点代价的影响示例图,如图2所示,在相同环境(同一台计算机)的计算中,资源单价是固定的,总消耗与访问资源数量有关,因此优化器是否能够得到准确的估算直接关系到代价是否准确。而是否估算准确与数据源性质相关,并不是所有数据源都能有合理猜测,源信息准确性、源属性复杂度都会直接影响估算结果的准确度。如果在执行过程中出现实际结果与估算存在较大甚至极大偏差的情况,优化器对此一无所知,也就无法对自己的下一次估算进行纠正,错误估算会继续出现。

4、因此,如何提高优化器的路径选择准确率,成为亟待解决的技术问题。


技术实现思路

1、有鉴于此,为了克服现有技术的不足,本专利技术旨在提供一种基于节点探针的路径选择和执行方法和系统。

2、根据本专利技术的第一方面,提供一种基于节点探针的路径选择和执行方法,其特征在于,该方法包括:

3、采用优化器接收查询树,根据接收的查询树生成多个执行路径节点;

4、根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点;

5、计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子;

6、采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成。

7、优选地,本专利技术基于节点探针的路径选择和执行方法中,采用优化器接收查询树,根据接收的查询树生成多个执行路径节点,包括:在采用优化器接收查询树前,对所述查询树进行逻辑优化和重写处理。

8、优选地,本专利技术基于节点探针的路径选择和执行方法中,根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点,包括:在筛选需要植入探针的执行路径节点时,对执行路径节点进行评估,将具有确定结果的执行路径节点判定为不需要植入探针的执行路径节点。

9、优选地,本专利技术基于节点探针的路径选择和执行方法中,具有确定结果的执行路径节点包括:统计信息具有时效性的无条件基础扫描路径节点,具有确定条件的基础扫描路径节点或连接路径节点,以及非数据生产路径节点,所述确定条件包括常数条件或可靠参照关联条件,所述非数据生产路径节点包括部分过度路径节点和中间数据收集路径节点。

10、优选地,本专利技术基于节点探针的路径选择和执行方法中,计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子,包括:

11、计划器通过路径特征码向优化器中的路径节点申请探针;

12、当所述路径节点为需要植入探针的执行路径节点,优化器在所述执行路径节点上创建探针,将创建的探针发送至计划器,计划器收到探针后生成对应的算子,将收到的探针植入生成的算子中;

13、当所述执行路径节点为不需要植入探针的执行路径节点,优化器向计划器返回空探针,计划器收到空探针后,生成对应的算子。

14、优选地,本专利技术基于节点探针的路径选择和执行方法中,路径特征码包括执行路径节点的节点类型、执行路径节点的子类型以及执行路径节点的节点属性。

15、优选地,本专利技术基于节点探针的路径选择和执行方法中,采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成,包括:

16、计划器的算子在运行结束后,向优化器中对应执行路径节点的探针写入执行统计信息;

17、优化器通过执行路径节点的探针根据执行统计信息,探测与路径选择和执行估算存在偏差的路径节点,记录存在偏差的路径节点的节点信息,根据记录的节点信息调整路径节点的代价。

18、优选地,本专利技术基于节点探针的路径选择和执行方法中,节点信息包括节点探针、路径节点执行结果以及执行时间。

19、根据本专利技术的第二方面,提供一种基于节点探针的路径选择和执行系统,该系统包括路径选择和执行服务端,该路径选择和执行服务端用于:采用优化器接收查询树,根据接收的查询树生成多个执行路径节点;根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点;计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子;采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成。

20、根据本专利技术的第三方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术第一方面所述的方法。

21、本专利技术基于节点探针的路径选择和执行方法和系统,在执行节点中嵌入优化器探针,允许优化器选择性的自主跟踪最终执行状况,通过观察估算结果与实际执行的预测偏差进行自主演进,在后续生成路径时的代价估算过程中参考探针的观测结果,对估算结果进行矫正,使路径代价更加接近真实结果,使原本存在较大误差的路径在最优路径选择过程中具有更准确的参考价值,提高优化器的路径选择准确率。基于由优化器主动发起结果探测的软件设计框架,不会对执行器产生干扰。

本文档来自技高网...

【技术保护点】

1.一种基于节点探针的路径选择和执行方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,采用优化器接收查询树,根据接收的查询树生成多个执行路径节点,包括:在采用优化器接收查询树前,对所述查询树进行逻辑优化和重写处理。

3.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点,包括:在筛选需要植入探针的执行路径节点时,对执行路径节点进行评估,将具有确定结果的执行路径节点判定为不需要植入探针的执行路径节点。

4.根据权利要求3所述的基于节点探针的路径选择和执行方法,其特征在于,具有确定结果的执行路径节点包括:统计信息具有时效性的无条件基础扫描路径节点,具有确定条件的基础扫描路径节点或连接路径节点,以及非数据生产路径节点,所述确定条件包括常数条件或可靠参照关联条件,所述非数据生产路径节点包括部分过度路径节点和中间数据收集路径节点。

5.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子,包括:

6.根据权利要求5所述的基于节点探针的路径选择和执行方法,其特征在于,路径特征码包括执行路径节点的节点类型、执行路径节点的子类型以及执行路径节点的节点属性。

7.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成,包括:

8.根据权利要求7所述的基于节点探针的路径选择和执行方法,其特征在于,节点信息包括节点探针、路径节点执行结果以及执行时间。

9.一种基于节点探针的路径选择和执行系统,其特征在于,所述系统包括路径选择和执行服务端,所述路径选择和执行服务端用于:采用优化器接收查询树,根据接收的查询树生成多个执行路径节点;根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点;计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子;采用植入算子的探针对执行路径节点的执行进行监控,采用优化器根据监控信息优化执行路径节点的生成。

10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-8中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种基于节点探针的路径选择和执行方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,采用优化器接收查询树,根据接收的查询树生成多个执行路径节点,包括:在采用优化器接收查询树前,对所述查询树进行逻辑优化和重写处理。

3.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,根据执行路径节点的结果属性,从生成的执行路径节点中筛选需要植入探针的执行路径节点,包括:在筛选需要植入探针的执行路径节点时,对执行路径节点进行评估,将具有确定结果的执行路径节点判定为不需要植入探针的执行路径节点。

4.根据权利要求3所述的基于节点探针的路径选择和执行方法,其特征在于,具有确定结果的执行路径节点包括:统计信息具有时效性的无条件基础扫描路径节点,具有确定条件的基础扫描路径节点或连接路径节点,以及非数据生产路径节点,所述确定条件包括常数条件或可靠参照关联条件,所述非数据生产路径节点包括部分过度路径节点和中间数据收集路径节点。

5.根据权利要求1所述的基于节点探针的路径选择和执行方法,其特征在于,计划器在生成需要植入探针的算子时,向优化器的执行路径节点申请探针,将申请获得的探针植入需要植入探针的算子,包括:

6.根据权利要...

【专利技术属性】
技术研发人员:权宗亮何小栋
申请(专利权)人:北京海量数据技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1