查询计划构建方法、装置、电子设备和存储介质制造方法及图纸

技术编号:39275758 阅读:7 留言:0更新日期:2023-11-07 10:52
本申请实施例公开了一种查询计划构建方法、装置、电子设备和存储介质;本申请实施例可以获取数据查询表达式,数据查询表达式包括关键词;根据关键词,得到数据查询表达式中的子表达式,以及子表达式之间的关联关系;确定等效子表达式,等效子表达式和子表达式具有等效的表达含义;从子表达式和等效子表达式中确定目标子表达式;通过目标子表达式和关联关系构建数据查询计划。在本申请实施例中,多个目标子表达式可以依据关联关系构建查询计划,使多个子表达式在构建数据查询计划时不存在相互冲突。由此,本方案可以便于构建数据查询计划,提升查询性能。提升查询性能。提升查询性能。

【技术实现步骤摘要】
查询计划构建方法、装置、电子设备和存储介质


[0001]本申请涉及计算机领域,具体涉及一种查询计划构建方法、装置、电子设备和存储介质。

技术介绍

[0002]数据库管理系统是一种用于管理和组织数据的软件系统,可以帮助用户创建、管理、存储和检索数据。在检索数据时,数据库管理系统可以通过查询优化技术扩展数据查询,并通过扩展后的数据查询构建查询计划,再依据查询计划查询数据。
[0003]然而,目前查询计划中的操作步骤可能存在相互冲突,导致构建的查询计划查询得到的数据可能与预期不一致,影响查询效率。

技术实现思路

[0004]本申请实施例提供一种查询计划构建方法、装置、电子设备和存储介质,可以便于构建数据查询计划,提升查询效率。
[0005]本申请实施例提供一种查询计划构建方法,包括:
[0006]获取数据查询表达式,数据查询表达式包括关键词;
[0007]根据关键词,得到数据查询表达式中的子表达式,以及子表达式之间的关联关系;
[0008]确定等效子表达式,等效子表达式和子表达式具有等效的表达含义;
[0009]从子表达式和等效子表达式中确定目标子表达式;
[0010]通过目标子表达式和关联关系构建数据查询计划。
[0011]本申请实施例还提供一种查询计划构建装置,包括:
[0012]获取单元,用于获取数据查询表达式,数据查询表达式包括关键词;
[0013]关键单元,用于根据关键词,得到数据查询表达式中的子表达式,以及子表达式之间的关联关系;
[0014]等效单元,用于确定等效子表达式,等效子表达式和子表达式具有等效的表达含义;
[0015]确定单元,用于从子表达式和等效子表达式中确定目标子表达式;
[0016]构建单元,用于通过目标子表达式和关联关系构建数据查询计划。
[0017]在一些实施例中,从子表达式和等效子表达式中确定目标子表达式,包括:
[0018]获取第一条件数量和第二条件数量,第一条件数量为子表达式关联的数据连接条件的条件数量,第二条件数量为等效子表达式关联的数据连接条件的条件数量;
[0019]根据第一条件数量和第二条件数量,从子表达式和等效子表达式中确定目标子表达式。
[0020]在一些实施例中,从子表达式和等效子表达式中确定目标子表达式,包括:
[0021]获取子表达式关联的待查询数据的元数据信息;
[0022]从元数据信息中获取待查询数据的数据量;
[0023]根据数据量,从子表达式和等效子表达式中确定目标子表达式。
[0024]在一些实施例中,通过目标子表达式和关联关系构建数据查询计划,包括:
[0025]从数据查询表达式中获取目标子表达式关联的查询优化请求;
[0026]通过目标子表达式构建初始子查询计划;
[0027]根据目标子表达式关联的查询优化请求和关联关系,从初始子查询计划中确定子查询计划;
[0028]对子查询计划进行合并处理,得到数据查询计划。
[0029]在一些实施例中,通过目标子表达式构建初始子查询计划,包括:
[0030]获取目标子表达式关联的查询运算符;
[0031]根据目标子表达式,构建查询运算符之间的连接关系;
[0032]控制查询运算符按照连接关系排布,得到初始子查询计划。
[0033]在一些实施例中,根据目标子表达式关联的查询优化请求和关联关系,从初始子查询计划中确定子查询计划,包括:
[0034]根据目标子表达式关联的查询优化请求,获取目标子表达式关联的待查询数据的元数据信息;
[0035]通过待查询数据的元数据信息,分析初始子查询计划执行时所需的计算量;
[0036]根据计算量和关联关系,从初始子查询计划中确定子查询计划。
[0037]在一些实施例中,目标子表达式包括第一表达式和第二表达式,第一表达式用于查询待查询数据,第二表达式用于筛选待查询数据,根据目标子表达式关联的查询优化请求和关联关系,从初始子查询计划中确定子查询计划,包括:
[0038]根据第一表达式关联的查询优化请求,从第一初始子查询计划中确定第一子查询计划,第一初始子查询计划为通过第一表达式构建的初始子查询计划;
[0039]基于第一子查询计划满足的查询优化请求,从第一表达式关联的查询优化请求中确定未满足请求;
[0040]根据未满足请求和关联关系,从第二表达式关联的查询优化请求中确定目标优化请求,目标优化请求包括未满足请求;
[0041]根据目标优化请求,从第二初始子查询计划中确定第二子查询计划,第二初始子查询计划为通过第二表达式构建的初始子查询计划。
[0042]在一些实施例中,通过目标子表达式构建初始子查询计划,包括:
[0043]获取目标子表达式关联的历史查询优化请求,以及与历史查询优化请求对应的历史查询计划;
[0044]从历史查询优化请求中确定查询优化请求对应的目标历史请求;
[0045]若存在目标历史请求,将目标历史请求对应的历史查询计划作为子查询计划;
[0046]若不存在目标历史请求,通过目标子表达式构建初始子查询计划。
[0047]在一些实施例中,获取目标子表达式关联的历史查询优化请求,以及与历史查询优化请求对应的历史查询计划,包括:
[0048]获取目标子表达式关联的哈希表,哈希表包括历史查询优化请求,以及历史查询优化请求关联的第一标签和计划调取链接,第一标签为历史查询优化请求经过哈希函数计算后得到的哈希值;
[0049]从历史查询优化请求中确定查询优化请求对应的目标历史请求,包括:
[0050]确定第二标签,第二标签为查询优化请求经过哈希函数计算后得到的哈希值;
[0051]根据第一标签和第二标签,从历史查询优化请求中确定查询优化请求对应的目标历史请求;
[0052]若存在目标历史请求,将目标历史请求对应的历史查询计划作为子查询计划,包括:
[0053]若存在目标历史请求,采用目标历史请求关联的计划调取链接,调取历史查询优化请求对应的历史查询计划作为子查询计划。
[0054]在一些实施例中,获取数据查询表达式,包括:
[0055]获取数据查询命令,数据查询命令包括关键词;
[0056]根据关键词,对数据查询命令进行语法分析处理,得到数据查询命令的语法树;
[0057]采用预设数据交换语言,对语法树进行格式转换处理,得到数据查询表达式。
[0058]在一些实施例中,在通过目标子表达式构建数据查询计划之后,还包括:
[0059]确定数据查询计划对应的查询指令,以及查询指令的副本指令;
[0060]将副本指令发送至数据库的多个数据存储节点中,以使数据存储节点依据副本指令返回查询数据。
[0061]本申请实施例还提供一种电子设备,包括存储器存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种查询计划构建方法,其特征在于,包括:获取数据查询表达式,所述数据查询表达式包括关键词;根据所述关键词,得到所述数据查询表达式中的子表达式,以及所述子表达式之间的关联关系;确定等效子表达式,所述等效子表达式和所述子表达式具有等效的表达含义;从所述子表达式和所述等效子表达式中确定目标子表达式;通过所述目标子表达式和所述关联关系构建数据查询计划。2.如权利要求1所述的查询计划构建方法,其特征在于,所述从所述子表达式和所述等效子表达式中确定目标子表达式,包括:获取第一条件数量和第二条件数量,所述第一条件数量为所述子表达式关联的数据连接条件的条件数量,所述第二条件数量为所述等效子表达式关联的数据连接条件的条件数量;根据所述第一条件数量和所述第二条件数量,从所述子表达式和所述等效子表达式中确定目标子表达式。3.如权利要求1所述的查询计划构建方法,其特征在于,所述从所述子表达式和所述等效子表达式中确定目标子表达式,包括:获取所述子表达式关联的待查询数据的元数据信息;从所述元数据信息中获取所述待查询数据的数据量;根据所述数据量,从所述子表达式和所述等效子表达式中确定目标子表达式。4.如权利要求1所述的查询计划构建方法,其特征在于,所述通过所述目标子表达式和所述关联关系构建数据查询计划,包括:从所述数据查询表达式中获取所述目标子表达式关联的查询优化请求;通过所述目标子表达式构建初始子查询计划;根据所述目标子表达式关联的查询优化请求和所述关联关系,从所述初始子查询计划中确定子查询计划;对所述子查询计划进行合并处理,得到数据查询计划。5.如权利要求4所述的查询计划构建方法,其特征在于,所述通过所述目标子表达式构建初始子查询计划,包括:获取所述目标子表达式关联的查询运算符;根据所述目标子表达式,构建所述查询运算符之间的连接关系;控制所述查询运算符按照所述连接关系排布,得到初始子查询计划。6.如权利要求4所述的查询计划构建方法,其特征在于,所述根据所述目标子表达式关联的查询优化请求和所述关联关系,从所述初始子查询计划中确定子查询计划,包括:根据所述目标子表达式关联的查询优化请求,获取所述目标子表达式关联的待查询数据的元数据信息;通过所述待查询数据的元数据信息,分析所述初始子查询计划执行时所需的计算量;根据所述计算量和所述关联关系,从所述初始子查询计划中确定子查询计划。7.如权利要求4所述的查询计划构建方法,其特征在于,所述目标子表达式包括第一表达式和第二表达式,所述第一表达式用于查询待查询数据,所述第二表达式用于筛选所述
待查询数据,所述根据所述目标子表达式关联的查询优化请求和所述关联关系,从所述初始子查询计划中确定子查询计划,包括:根据所述第一表达式关联的查询优化请求,从第一初始子查询计划中确定第一子查询计划,所述第一初始子查询计划为通过所述第一表达式构建的所述初始子查询计划;基于所述第一子查询计划满足的查询优化请求,从所述第一表达式关联的查询优化请求中确定未满足请求;根据所述未满足请求和所述关联关系,从所述第二表达式关联的查询优化请求中确定目标优化请求,所述目标优化请求包括所述未满足请求;根据所述目标优化请求,从第二初始子查询计划中确定第二子查询计划,所述第二初始子查询计划为通过所述...

【专利技术属性】
技术研发人员:石志林
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:

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

1