数据查询方法、数据查询系统、设备及存储介质技术方案

技术编号:35448460 阅读:15 留言:0更新日期:2022-11-03 12:02
本申请实施例提供一种数据查询方法、数据查询系统、设备及存储介质。其中,方法包括如下的步骤:接收目标查询语句;根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。本申请实施例提供的技术方案能够减少计算资源的消耗,提高系统性能。提高系统性能。提高系统性能。

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


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

技术介绍

[0002]通常,数据库系统每接收到一条SQL(Structured Query Language,结构化查询语言)语句后,就会对该SQL语句进行词法解析、语法解析、优化和改写等操作,以生成逻辑执行计划,然后再将逻辑执行计划转换成物理执行计划,最后基于这个物理执行计划执行相应任务。
[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]图1a为本申请一实施例提供的查询语句执行过程示意图;
[0029]图1b为本申请一实施例提供的分布式查询系统的结构框图;
[0030]图2为本申请一实施例提供的数据查询方法的流程示意图;
[0031]图3a为本申请一实施例提供的查询语句处理示例图;
[0032]图3b为本申请一实施例提供的数据库元数据结构示意图;
[0033]图4为本申请一实施例提供的逻辑执行计划缓存结构;
[0034]图5为本申请又一实施例提供的数据查询方法的流程示意图;
[0035]图6为本申请另一实施例提供的数据查询方法的流程示意图;
[0036]图7为本申请一实施例提供的执行计划示例图;
[0037]图8为本申请一实施例提供的电子设备的结构框图。
具体实施方式
[0038]目前,一条SQL在经过词法、语法解析后,需要进行各种复杂的优化、改写,从而生成逻辑执行计划,然后根据该逻辑执行计划生成物理执行计划,最后根据物理执行计划进行调度执行。其中,逻辑执行计划的生成过程中可能会多次遍历语法树并进行多次优化和改写,需要消耗较多的计算资源,这导致生产环境中的数据库系统存在并发能力较差的问题。
[0039]为了解决或部分解决上述技术问题,本申请实施例提出了一种新的数据查询方
案。在该方案中,事先在缓存空间中缓存多个备用逻辑执行计划,后续接收到目标查询语句后,只需在缓存空间中查找出适用于目标查询语句的目标逻辑执行计划即可,而无需再经过解析、改写、优化等复杂流程,这样可减少计算资源的消耗,提高系统性能。此外,本申请实施例提供的技术方案缓存的是逻辑执行计划,而不是物理执行计划,这样,后续可根据当前的物理执行环境信息将逻辑执行计划转换成适应于当前物理执行环境的物理执行计划,避免了因物理执行环境的改变导致缓存的物理执行计划无法适用于当前物理执行环境的问题。
[0040]为了使本
的人员更好地理解本申请方案,下面将根据本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041]此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其中,包括:接收目标查询语句;根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划;根据所述物理执行计划,执行查询,得到所述目标查询语句的查询结果。2.根据权利要求1所述的方法,其中,根据所述目标查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划,包括:在所述目标查询语句中删除有关查询时间区间的代码,得到目标删除后查询语句;根据所述目标删除后查询语句,从缓存空间所缓存的多个备用逻辑执行计划中查找适用于所述目标查询语句的目标逻辑执行计划;其中,所述缓存空间中缓存有第一备用逻辑执行计划;所述第一备用逻辑执行计划是通过解析第一删除后查询语句生成的;所述第一删除后查询语句是删除第一查询语句中有关查询时间区间的代码后得到的。3.根据权利要求2所述的方法,其中,所述缓存空间中针对各所述备用逻辑执行计划对应缓存有语句摘要;根据所述目标删除后查询语句,从缓存中查找适用于所述目标查询语句的目标逻辑执行计划,包括:基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要;将所述缓存空间中与所述目标语句摘要相同的语句摘要对应的备用逻辑执行计划确定为所述目标逻辑执行计划;其中,所述缓存空间中对应于所述第一备用逻辑执行计划缓存的语句摘要是基于所述第一删除后查询语句,利用所述第一摘要算法生成的。4.根据权利要求3所述的方法,其中,还包括:确定所述目标查询语句所涉及的目标数据源名称以及目标数据库用户名称;基于所述目标删除后查询语句,利用第一摘要算法确定目标语句摘要,包括:根据所述目标删除后查询语句、所述目标数据源名称以及所述目标数据库用户名称,利用第一摘要算法确定目标语句摘要;其中,所述缓存空间中对应于所述第一备用逻辑执行计划缓存的语句摘要是基于所述第一删除后查询语句、所述第一查询语句所涉及的数据源名称以及数据库用户名称,利用所述第一摘要算法生成的。5.根据权利要求1至4中任一项所述的方法,其中,根据当前的物理执行环境信息,将所述目标逻辑执行计划转换为物理执行计划,包括:根据分布式查询系统当前的物理执行环境信息,从所述分布式查询系统的多个工作节点中查找多个目标工作节点;根据所述多个目标工作节点的节点信息以及所述目标逻辑执行计划,生成物理执行计划。6.根据权利要求1至4中任一项所述的方法,其中,所述缓存空间中针对各所述备用逻辑执行计划对应缓存有用于有效性校验的参考信息;上述方法,还包括:
基于所述目标查询语句所要访问的目标数据当前对应的第一元数据,生成用于有效性校验的目标信息;根据所述目标信息与所述缓存空间中针对所述目标逻辑执行计划对应缓存的参考信息的比较结果,判断所述目标逻辑执行计划是否有效;当所述目标逻辑执行计划有效时,触发执行所述根据所述目标逻辑执行计划,执行查询,得到所述目标查询语句的查询结果的步骤;其...

【专利技术属性】
技术研发人员:顾汉杰马云雷孙廷韬王彬
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1