一种执行方式的控制方法、装置、设备及存储介质制造方法及图纸

技术编号:32855826 阅读:18 留言:0更新日期:2022-03-30 19:26
本公开提供了一种执行方式的控制方法、装置、设备及存储介质,所述方法包括:确定第一SQL语句中的各个子查询语句分别对应的执行事件以及分别对应的执行方式,并确定第一子查询语句中是否包含预设的hint提示语句,如果确定,则基于hint提示语句确定第一子查询语句的目标执行事件以及对应的目标执行方式,调整目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值,并确定为优化器的输入,触发基于目标执行方式执行目标执行事件。本公开实施例能够在基于hint提示语句确定目标执行方式后,通过调整各个执行方式代价估值的方式,更细粒度的控制单个执行事件对应的执行方式,从而提高了控制的灵活性。从而提高了控制的灵活性。从而提高了控制的灵活性。

【技术实现步骤摘要】
一种执行方式的控制方法、装置、设备及存储介质


[0001]本公开涉及数据库
,尤其涉及一种执行方式的控制方法、装置、设备及存储介质。

技术介绍

[0002]随着数据库技术的不断发展,数据库系统的应用日益庞大,随着数据库系统性能表现的重要性也越发凸显,而其中优化器在很大程度上决定了一个数据库系统的性能。例如,CBO(Cost

Based Optimizer,基于成本的优化)为基于代价的优化器,能够依赖统计信息和代价模型,为各个执行方式计算一个对应的代价估值,从中选择代价估值最小的执行方式作为最优执行方式。
[0003]目前,相关技术中,由于客户现场查询使用场景的多样性,有时可能需要对执行方式的选择进行人工干预,当需要对执行方式的选择进行人工干预时,通常采用的解决方式是数据库系统提供全局参数进行全局控制,例如设置某个全局参数可以禁止CBO优化器选择某种执行方式。但是相关技术的处理方式只能进行全局控制,而无法更细粒度的控制单个执行事件对应的执行方式,导致控制不够灵活。
[0004]因此,如何更细粒度的控制单个执行事件对应的执行方式,从而提高控制的灵活性,是目前亟需解决的技术问题。

技术实现思路

[0005]为了解决上述技术问题,本公开提供了一种执行方式的控制方法,能够更细粒度的控制单个执行事件对应的执行方式,提高控制的灵活性。
[0006]第一方面,本公开提供了一种执行方式的控制方法,所述方法包括:
[0007]确定第一结构化查询语言SQL语句中的各个子查询语句分别对应的执行事件以及各个执行事件分别对应的执行方式;
[0008]确定第一子查询语句中是否包含预设的hint提示语句;其中,所述hint提示语句用于指定目标执行事件和所述目标执行事件对应的目标执行方式;
[0009]如果确定所述第一子查询语句中包含所述hint提示语句,则基于所述hint提示语句确定所述第一子查询语句的目标执行事件以及所述目标执行事件对应的目标执行方式;
[0010]调整所述目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值;其中,所述目标执行方式对应的调整后代价估值属于所述目标执行事件对应的执行方式的调整后代价估值中的最小值;
[0011]将各个执行方式分别对应的调整后代价估值确定为优化器的输入;其中,所述优化器用于触发基于所述目标执行方式执行所述目标执行事件。
[0012]一种可选的实施方式中,所述hint提示语句携带数据表标识和执行方式标识,所述数据表标识用于标识针对所述数据表标识对应的数据表执行的事件,所述执行方式标识用于指定所述事件对应的目标执行方式;
[0013]所述基于所述hint提示语句确定所述第一子查询语句的目标执行事件以及所述目标执行事件对应的目标执行方式,包括:
[0014]基于所述hint提示语句携带的所述数据表标识确定所述第一子查询语句的目标执行事件,以及基于所述执行方式标识确定所述目标执行事件对应的目标执行方式。
[0015]一种可选的实施方式中,所述执行方式标识包括执行方式关键字和并行进程数量;
[0016]所述基于所述执行方式标识确定所述目标执行事件对应的目标执行方式,包括:
[0017]基于执行方式关键字和所述并行进程数量,确定所述目标执行事件对应的目标执行方式。
[0018]一种可选的实施方式中,所述目标执行事件包括针对所述数据表标识对应的数据表执行的并行扫描事件。
[0019]一种可选的实施方式中,所述执行方式标识包括执行方式关键字和各个数据表标识之间的顺序关系;
[0020]所述基于所述执行方式标识确定所述目标执行事件对应的目标执行方式,包括:
[0021]基于所述执行方式关键字和各个数据表标识之间的顺序关系,确定所述目标执行事件对应的目标执行方式。
[0022]一种可选的实施方式中,所述目标执行事件包括针对所述数据表标识对应的数据表执行的连接顺序确定事件。
[0023]一种可选的实施方式中,所述调整所述目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值,包括:
[0024]将所述目标执行事件对应的目标执行方式的代价估值调整为0,作为所述目标执行方式的调整后代价估值;
[0025]或者,
[0026]将所述目标执行事件对应的执行方式中除所述目标执行方式以外的其他执行方式的代价估值均增加预设数值,得到所述各个执行方式分别对应的调整后代价估值;其中,所述预设数值的量级大于任一执行方式的代价估值的量级。
[0027]第二方面,本公开提供了一种执行方式的控制装置,所述装置包括:
[0028]第一确定模块,用于确定第一结构化查询语言SQL语句中的各个子查询语句分别对应的执行事件以及各个执行事件分别对应的执行方式;
[0029]第二确定模块,用于确定第一子查询语句中是否包含预设的hint提示语句;其中,所述hint提示语句用于指定目标执行事件和所述目标执行事件对应的目标执行方式;
[0030]第三确定模块,用于如果确定所述第一子查询语句中包含所述hint提示语句,则基于所述hint提示语句确定所述第一子查询语句的目标执行事件以及所述目标执行事件对应的目标执行方式;
[0031]调整模块,用于调整所述目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值;其中,所述目标执行方式对应的调整后代价估值属于所述目标执行事件对应的执行方式的调整后代价估值中的最小值;
[0032]执行模块,用于将各个执行方式分别对应的调整后代价估值确定为优化器的输入;其中,所述优化器用于触发基于所述目标执行方式执行所述目标执行事件。
[0033]第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
[0034]第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
[0035]本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
[0036]本公开实施例提供了一种执行方式的控制方法,首先,确定第一SQL语句中的各个子查询语句分别对应的执行事件以及各个执行事件分别对应的执行方式,然后,确定第一子查询语句中是否包含预设的hint提示语句,如果确定第一子查询语句中包含hint提示语句,则基于hint提示语句确定第一子查询语句的目标执行事件以及目标执行事件对应的目标执行方式,进而,调整目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值,将各个调整后代价估值确定为优化器的输入,触发基于目标执行方式执行目标执行事件。可见,本公开实施例能够在基于hint提示语句确定目标执行方式后,通过调整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种执行方式的控制方法,其特征在于,所述方法包括:确定第一结构化查询语言SQL语句中的各个子查询语句分别对应的执行事件以及各个执行事件分别对应的执行方式;确定第一子查询语句中是否包含预设的hint提示语句;其中,所述hint提示语句用于指定目标执行事件和所述目标执行事件对应的目标执行方式;如果确定所述第一子查询语句中包含所述hint提示语句,则基于所述hint提示语句确定所述第一子查询语句的目标执行事件以及所述目标执行事件对应的目标执行方式;调整所述目标执行事件对应的执行方式的代价估值,得到各个执行方式分别对应的调整后代价估值;其中,所述目标执行方式对应的调整后代价估值属于所述目标执行事件对应的执行方式的调整后代价估值中的最小值;将各个执行方式分别对应的调整后代价估值确定为优化器的输入;其中,所述优化器用于触发基于所述目标执行方式执行所述目标执行事件。2.根据权利要求1所述的方法,其特征在于,所述hint提示语句携带数据表标识和执行方式标识,所述数据表标识用于标识针对所述数据表标识对应的数据表执行的事件,所述执行方式标识用于指定所述事件对应的目标执行方式;所述基于所述hint提示语句确定所述第一子查询语句的目标执行事件以及所述目标执行事件对应的目标执行方式,包括:基于所述hint提示语句携带的所述数据表标识确定所述第一子查询语句的目标执行事件,以及基于所述执行方式标识确定所述目标执行事件对应的目标执行方式。3.根据权利要求2所述的方法,其特征在于,所述执行方式标识包括执行方式关键字和并行进程数量;所述基于所述执行方式标识确定所述目标执行事件对应的目标执行方式,包括:基于执行方式关键字和所述并行进程数量,确定所述目标执行事件对应的目标执行方式。4.根据权利要求3所述的方法,其特征在于,所述目标执行事件包括针对所述数据表标识对应的数据表执行的并行扫描事件。5.根据权利要求2所述的方法,其特征在于,所述执行方式标识包括执行方式关键字和各个数据表标识之间的顺序关系;所述基于所述执行方式标识确定所述目标执行事件对应的目标执行方式,包括:基于所述执行方式关键字和各个数据表标识之间的顺序关系,确定所述目标执行事件对应...

【专利技术属性】
技术研发人员:范国腾尹强
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1