System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库查询优化的计划执行方法、装置、设备及介质制造方法及图纸_技高网

数据库查询优化的计划执行方法、装置、设备及介质制造方法及图纸

技术编号:40353509 阅读:6 留言:0更新日期:2024-02-09 14:38
本申请适用于数据库优化技术领域,尤其涉及一种数据库查询优化的计划执行方法、装置、设备及介质。该方法在基于目标查询语句进入当前次查询时,使用查询优化器生成最新查询计划,将目标查询语句在前一次查询中执行的查询计划作为基准计划,将最新查询计划与基准计划进行比较,得到比较结果,在比较结果为基准计划较优时,基于基准计划执行当前次查询,在比较结果为最新查询计划较优时,基于最新查询计划执行当前次查询,以前一次查询时的计划为基准,并在无法超越基准的情况下以基准计划执行查询,可以保证查询计划不会向着劣化的方向发展,同时能够在一定次数的迭代后找到更加优化的查询计划,提高了数据库查询的效率。

【技术实现步骤摘要】

本申请适用于数据库优化,尤其涉及一种数据库查询优化的计划执行方法、装置、设备及介质


技术介绍

1、目前,在数据库优化器模块中,基于代价的优化器(cost-based optimizer,cbo)从给定查询等价的所有查询执行计划空间中进行搜索,并选择估计代价最小的一个作为最佳计划,然后在执行阶段执行计划。对于复杂查询来说,搜索全部可能的计划空间的代价是非常高昂的。因此,许多优化器会采用各种手段来降低查询优化的代价,例如,采用启发式方法选择更少连接条件的内连接,以避免更多连接条件带来的更大代价估算偏差,最终形成一个稳定健康的计划,以此降低形成不了最优计划的风险。

2、对于一个查询语句,多种因素(例如统计信息、系统资源等)的变化会导致最终执行计划的变化,计划的不稳定可能会造成了计划执行性能劣化的问题。其中,统计信息在数据库对象的多个维度上描述了详细信息,cbo通过收集统计信息(例如选择率、基数等),并利用这些统计信息来估算目标查询语句的各种可能的、不同执行路径的代价。但是,传统的查询优化器会通过调优基数来估计代价值,因此,如果朝着错误估计的子查询的真实成本调优,可能会在邻近的计划空间中生成一些更好的计划,如果向着相反的方向调优,则可能生成一些更糟糕的计划。因此,当查询的因素发生变化时,如何使得改变不会引起查询执行性能劣化,从而执行一个更好的且相对稳定的计划成为亟待解决的问题。


技术实现思路

1、有鉴于此,本申请实施例提供了一种数据库查询优化的计划执行方法、装置、设备及介质,以解决如何使得改变不会引起查询执行性能劣化,从而执行一个更好的且相对稳定的计划的问题。

2、第一方面,本申请实施例提供一种数据库查询优化的计划执行方法,所述计划执行方法包括:

3、在基于目标查询语句进入当前次查询时,使用查询优化器生成最新查询计划;

4、将所述目标查询语句在前一次查询中执行的查询计划作为基准计划,将所述最新查询计划与所述基准计划进行比较,得到比较结果;

5、在所述比较结果为所述基准计划较优时,基于所述基准计划执行所述当前次查询,在所述比较结果为所述最新查询计划较优时,基于所述最新查询计划执行所述当前次查询。

6、第二方面,本申请实施例提供一种数据库查询优化的计划执行装置,所述计划执行装置包括:

7、计划生成模块,用于在基于目标查询语句进入当前次查询时,使用查询优化器生成最新查询计划;

8、计划比较模块,用于将所述目标查询语句在前一次查询中执行的查询计划作为基准计划,将所述最新查询计划与所述基准计划进行比较,得到比较结果;

9、计划执行模块,用于在所述比较结果为所述基准计划较优时,基于所述基准计划执行所述当前次查询,在所述比较结果为所述最新查询计划较优时,基于所述最新查询计划执行所述当前次查询。

10、第三方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的计划执行方法。

11、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的计划执行方法。

12、本申请实施例与现有技术相比存在的有益效果是:本申请在基于目标查询语句进入当前次查询时,使用查询优化器生成最新查询计划,将所述目标查询语句在前一次查询中执行的查询计划作为基准计划,将所述最新查询计划与所述基准计划进行比较,得到比较结果,在所述比较结果为所述基准计划较优时,基于所述基准计划执行所述当前次查询,在所述比较结果为所述最新查询计划较优时,基于所述最新查询计划执行所述当前次查询,以前一次查询时的计划为基准,并在无法超越基准的情况下以基准计划执行查询,可以保证查询计划不会向着劣化的方向发展,同时能够在一定次数的迭代后找到更加优化的查询计划,提高了数据库查询的效率。

本文档来自技高网...

【技术保护点】

1.一种数据库查询优化的计划执行方法,其特征在于,所述计划执行方法包括:

2.根据权利要求1所述的计划执行方法,其特征在于,所述计划执行方法还包括:

3.根据权利要求1所述的计划执行方法,其特征在于,所述使用查询优化器生成最新查询计划,包括:

4.根据权利要求1至3任一项所述的计划执行方法,其特征在于,所述将所述最新查询计划与所述基准计划进行比较,得到比较结果,包括:

5.根据权利要求4所述的计划执行方法,其特征在于,所述使用预先训练好的评分估计模型对所述最新查询计划和所述基准计划分别进行评分预测,得到对应所述最新查询计划的第一预测评分和对应所述基准计划的第二预测评分,包括:

6.根据权利要求4所述的计划执行方法,其特征在于,所述根据所述第一预测评分和所述第二预测评分,得到比较结果,包括:

7.根据权利要求4所述的计划执行方法,其特征在于,在所述当前次查询执行之后,所述计划执行方法还包括:

8.一种数据库查询优化的计划执行装置,其特征在于,所述计划执行装置包括:

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

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的计划执行方法。

...

【技术特征摘要】

1.一种数据库查询优化的计划执行方法,其特征在于,所述计划执行方法包括:

2.根据权利要求1所述的计划执行方法,其特征在于,所述计划执行方法还包括:

3.根据权利要求1所述的计划执行方法,其特征在于,所述使用查询优化器生成最新查询计划,包括:

4.根据权利要求1至3任一项所述的计划执行方法,其特征在于,所述将所述最新查询计划与所述基准计划进行比较,得到比较结果,包括:

5.根据权利要求4所述的计划执行方法,其特征在于,所述使用预先训练好的评分估计模型对所述最新查询计划和所述基准计划分别进行评分预测,得到对应所述最新查询计划的第一预测评分和对应所述基准计划的第二预测评分,包括:

6.根据权利要求4所述的计...

【专利技术属性】
技术研发人员:陈志标陈关羽
申请(专利权)人:深圳计算科学研究院
类型:发明
国别省市:

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

1