数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:37551485 阅读:18 留言:0更新日期:2023-05-15 07:37
本申请实施例公开了一种数据查询方法、装置、设备及存储介质。该数据查询方法通过解析第一查询语句,生成与第一查询语句对应的查询树,然后基于第一查询节点和第二查询节点与第一集合中的第一关键信息的匹配关系,确定查询树中返回结果为空结果集的目标第二查询节点,并将该目标第二查询节点替换为空结果集节点,如此,在按照查询树执行到空结果集节点时,可以直接返回空结果集,无需再执行该目标第二查询节点以及目标第二查询节点之后的查询,如此减少了不必要的子查询,提高了数据查询的执行效率。效率。效率。

【技术实现步骤摘要】
数据查询方法、装置、设备及存储介质


[0001]本申请涉及数据查询
,尤其涉及一种数据查询方法、装置、设备及存储介质。

技术介绍

[0002]近年来,随着移动互联网、大数据、人工智能等新应用场景以及新型技术的发展,数据库管理系统(Database Management System,DBMS)在规模和复杂性方面有了显著的增加,数据库的性能问题也越发凸显,其中,提高结构化查询语言(Structured Query Language,SQL)的查询性能是数据库面临的重要课题。
[0003]空查询结果是数据查询过程中经常遇到的问题,在一些复杂而耗时的SQL查询语句中,通常有一部分子查询的结果是空结果集,这部分子查询的执行结果对整个查询的结果没有贡献,但通常在总的SQL执行时间中占有很大的比重,从而影响了SQL语句的执行效率。
[0004]申请内容
[0005]本申请实施例提供一种数据查询方法、装置、设备及存储介质,可以减少结果为空结果集的子查询,提高数据查询的执行效率。
[0006]第一方面,本申请实施例提供了一种数据查询方法,包括:
[0007]解析第一查询语句,生成与第一查询语句对应的查询树,查询树包含N个查询节点,N为大于1的整数;
[0008]按照由下至上的顺序,针对第一查询节点,查找第一集合,判断第一查询节点是否与第一集合中的第一关键信息匹配,第一查询节点为N个查询节点中的任一查询节点,第一集合用于存储返回结果为空结果集的目标子查询包含的第一关键信息,目标子查询为历史查询语句包含的子查询;
[0009]在第一查询节点与第一关键信息匹配的情况下,判断第二查询节点是否与第一关键信息匹配,第二查询节点为查询树中与第一查询节点相邻且位于第一查询节点的上一层级的查询节点;
[0010]在第二查询节点与第一关键信息不匹配的情况下,将与第一关键信息匹配的目标第二查询节替换为空结果集节点;
[0011]按照查询树进行数据查询,在执行到空结果集节点的情况下,返回空结果集。
[0012]第二方面,本申请实施例提供了一种数据查询装置,包括:解析模块、判断模块、替换模块和查询模块;
[0013]解析模块,用于解析第一查询语句,生成与第一查询语句对应的查询树,查询树包含N个查询节点,N为大于1的整数;
[0014]判断模块,用于按照由下至上的顺序,针对第一查询节点,查找第一集合,判断第一查询节点是否与第一集合中的第一关键信息匹配,第一查询节点为N个查询节点中的任一查询节点,第一集合用于存储返回结果为空结果集的目标子查询包含的第一关键信息,
目标子查询为历史查询语句包含的子查询;
[0015]判断模块,还用于在第一查询节点与第一关键信息匹配的情况下,判断第二查询节点是否与第一关键信息匹配,第二查询节点为查询树中与第一查询节点相邻且位于第一查询节点的上一层级的查询节点;
[0016]替换模块,用于在第二查询节点与第一关键信息不匹配的情况下,将与第一关键信息匹配的目标第二查询节点替换为空结果集节点;
[0017]查询模块,用于按照查询树进行数据查询,在执行到空结果集节点的情况下,返回空结果集。
[0018]第三方面,本申请实施例提供了一种电子设备,包括:
[0019]处理器;
[0020]存储器,用于存储计算机程序指令;
[0021]当计算机程序指令被处理器执行时,实现如第一方面所述的方法。
[0022]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如第一方面所述的方法。
[0023]第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如第一方面所述的方法。
[0024]本申请实施例通过解析第一查询语句,生成与第一查询语句对应的查询树,按照由下至上的顺序,针对第一查询节点,查找第一集合,判断第一查询节点是否与第一集合中的第一关键信息匹配,在第一查询节点与第一关键信息匹配的情况下,判断第二查询节点是否与第一关键信息匹配,在第二查询节点与第一关键信息不匹配的情况下,将与第一关键信息匹配的目标第二查询节替换为空结果集节点,按照查询树进行数据查询,在执行到空结果集节点的情况下,返回空结果集。即本申请实施例基于第一查询节点和第二查询节点与第一关键信息的匹配关系,确定查询树中返回结果为空结果集的目标第二查询节点,并将该目标第二查询节点替换为空结果集节点,如此,在按照查询树执行到空结果集节点时,可以直接返回空结果集,无需再执行该目标第二查询节点以及目标第二查询节点之后的查询,如此减少了不必要的子查询,提高了数据查询的执行效率。
附图说明
[0025]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1为本申请实施例提供的一种数据查询方法的流程图;
[0027]图2为本申请实施例提供的一种查询树的示意图;
[0028]图3为本申请实施例提供的一种优化后的查询树的示意图;
[0029]图4为本申请实施例提供的一种空结果集的查找和替换的过程示意图;
[0030]图5为本申请实施例提供的一种数据查询的过程示意图;
[0031]图6为本申请实施例提供的一种数据查询装置的结构图;
[0032]图7为本申请实施例提供的一种电子设备的结构图。
具体实施方式
[0033]下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
[0034]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0035]如上所述,空查询结果是数据查询过程中经常遇到的问题,在一些复杂而耗时的SQL查询语句中,通常有一部分子查询的结果是空结果集,这部分子查询的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:解析第一查询语句,生成与第一查询语句对应的查询树,所述查询树包含N个查询节点,N为大于1的整数;按照由下至上的顺序,针对第一查询节点,查找第一集合,判断所述第一查询节点是否与所述第一集合中的第一关键信息匹配,所述第一查询节点为所述N个查询节点中的任一查询节点,所述第一集合用于存储返回结果为空结果集的目标子查询包含的第一关键信息,所述目标子查询为历史查询语句包含的子查询;在所述第一查询节点与所述第一关键信息匹配的情况下,判断第二查询节点是否与所述第一关键信息匹配,所述第二查询节点为所述查询树中与所述第一查询节点相邻且位于所述第一查询节点的上一层级的查询节点;在所述第二查询节点与所述第一关键信息不匹配的情况下,将与所述第一关键信息匹配的目标第二查询节替换为空结果集节点;按照所述查询树进行数据查询,在执行到所述空结果集节点的情况下,返回空结果集。2.根据权利要求1所述的方法,其特征在于,所述解析第一查询语句,生成与第一查询语句对应的查询树之前,所述方法还包括:获取所述历史查询语句中返回结果为空结果集的目标子查询;确定所述目标子查询中使返回结果为空结果集的表信息和查询条件,记为第一关键信息;存储所述第一关键信息,得到第一集合。3.根据权利要求2所述的方法,其特征在于,所述获取所述历史查询语句中返回结果为空结果集的目标子查询,包括:解析所述历史查询语句,得到M个子查询,M为大于1的整数;执行各所述子查询,得到各所述子查询返回的结果;在所述结果为空结果集的情况下,确定导致所述结果为空结果集的子查询,记为目标子查询。4.根据权利要求1所述的方法,其特征在于,所述按照由下至上的顺序,针对第一查询节点,查找第一集合,判断所述第一查询节点是否与所述第一集合中的第一关键信息匹配,包括:按照由下至上的顺序,针对第一查询节点,查找第一集合;在所述第一查询节点对应的关键信息与所述第一集合中的第一关键信息相同的情况下,确定所述第一查询节点与所述第一集合中的第一关键信息匹配;在所述第一查询节点对应的关键信息与所述第一集合中的第一关键信息不相同的情况下,确定所述第一查询节点与所述第一集合中的第一关键信息匹配。5.根据权利要求2所述的方法,其特征在于,所述存储所述第一关键信息,得到第一集合之后,所述方法还包括:在所述表...

【专利技术属性】
技术研发人员:白国涛李超周婧胡东妮崔凯峰屈莹
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1