一种基于关系数据库的查询方法及装置制造方法及图纸

技术编号:28373850 阅读:24 留言:0更新日期:2021-05-08 00:01
本申请提供了一种基于关系数据库的查询方法,该方法包括:获取输入查询指令;确定输入查询指令中的若干个子查询过滤条件;根据若干个子查询过滤条件,确定目标子查询过滤条件;根据目标子查询过滤条件,对关系数据库进行数据查询,得到查询结果。这样,本申请所提供的方法可在关系数据库的查询阶段,针对若干个子查询过滤条件进行合并后,生成更加严格的目标子查询过滤条件,来替代原有的若干个子查询过滤条件,从而获得更加严格的过滤条件,使得子查询语句产生更加少量的结果集,也降低查询的次数,从而提高查询的执行效率,可见,本申请所提供的方法可以大大降低查询的次数,提高了查询效率,进而提高了用户体验。

【技术实现步骤摘要】
一种基于关系数据库的查询方法及装置
本申请涉及关系数据库管理领域,尤其涉及一种基于关系数据库的查询方法及装置。
技术介绍
在现有的关系数据库的查询过程中,会先根据查询指令中的各个子查询过滤条件,查询各个子查询过滤条件对应的查询结果,再根据各个子查询过滤条件对应的查询结果对各个子查询过滤条件进行重排序,再根据重新排序后的各个子查询过滤条件分别进行数据查询。这样,导致关系数据库在查询过程中,需要进行多次查询,导致查询效率低下,从而导致用户体验较差。
技术实现思路
本申请提供实现了一种基于关系数据库的查询方法,以实现在关系数据库的查询过程中可以大大降低查询的次数,从而提高了查询效率,进而提高了用户体验。本申请提供了一种基于关系数据库的查询方法,所述方法包括:获取输入查询指令;确定所述输入查询指令中的若干个子查询过滤条件;根据所述若干个子查询过滤条件,确定目标子查询过滤条件;根据所述目标子查询过滤条件所有子查询过滤条件所有子查询过滤条件对关系数据库进行数据查询,得到查询结果。本申请还提供了一种基于关系数据库的查询装置,所述装置包括:获取单元,用于获取输入查询指令;第一确定单元,用于确定所述输入查询指令中的若干个子查询过滤条件;第二确定单元,用于根据所述若干个子查询过滤条件,确定目标子查询过滤条件;第三确定单元,用于根据所述目标子查询过滤条件,对关系数据库进行数据查询,得到查询结果。本申请还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如基于上述任意一项所述的基于关系数据库的查询方法本申请还提供了一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述任意一项所述的基于关系数据库的查询方法。由上述技术方案可以看出,本申请提供了一种基于关系数据库的查询方法,所述方法包括:获取输入查询指令;确定所述输入查询指令中的若干个子查询过滤条件;根据所述若干个子查询过滤条件,确定目标子查询过滤条件;根据所述目标子查询过滤条件,对关系数据库进行数据查询,得到查询结果。这样,本申请所提供的方法可以在关系数据库的查询阶段,根据输入查询指令中的若干个子查询过滤条件,确定目标子查询过滤条件,即针对若干个子查询过滤条件进行合并之后,生成一个更加严格的目标子查询过滤条件,来替代原有的若干个子查询过滤条件,从而使得查询优化器能够生成一个更加优化的查询计划,即可以降低查询的次数,使得关系数据库的查询能够更加高效的处理交集操作,也就是说,本申请所提供的方法考虑到合并各个子查询中的过滤条件来改写子查询,如果能够合并各个子查询语句中的子查询过滤条件,并将合并后的目标子查询过滤条件下推到各个子查询语句,这样将会获得更加严格的过滤条件,使得子查询语句产生更加少量的结果集,也降低了查询的次数,从而提高查询的执行效率,即与现有的关系数据库的查询过程相比,本申请所提供的方法可以大大降低查询的次数,提高了查询效率,进而提高了用户体验。上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请一种基于关系数据库的查询方法的流程示意图;图2为本申请一实施例提供的一种基于关系数据库的查询装置的结构示意图;图3为本申请一实施例提供的一种电子设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。专利技术人发现在现有的关系数据库的查询过程中,会先根据查询指令中的各个子查询过滤条件,查询各个子查询过滤条件对应的查询结果,再根据各个子查询过滤条件对应的查询结果对各个子查询过滤条件进行重排序,再根据重新排序后的各个子查询过滤条件分别进行数据查询;举例来说,假设得到如下一个等价SQL:(subquery1x)intersec(suquery2x)intersec(subqyery3x)....intersec(subqueryNx),使得subqueryAx的输出结果集小于等于subqueryBx,如果A>B,这样在执行查询阶段中需要采用迭代器模型优先执行输出结果集最小的子查询;再举例来说,例如对于如下的SQL:(Selecta1,a2fromXwhereX.a1=1)intersec(selecta1,a2fromYwhereY.a2=2),现有的查询计划改写规则,是根据统计信息,计算出(Selecta1,a2fromXwhereX.a1=1)和(selecta1,a2fromYwhereY.a2=2)这两个子查询的输出结果集,然后如果前者的输出的结果集中记录数量小于后者,则进行改写,得到如下的等价SQL:(selecta1,a2fromYwhereY.a2=2)intersec(Selecta1,a2fromXwhereX.a1=1),这样在执行的时候,先执行结果集记录行数少的子查询计划,再与后续的查询计划做交集,显然,在查询过程中需要反复多次进行查询操作。这样,会导致关系数据库在查询过程中,需要进行多次查询,导致查询效率低下,从而导致用户体验较差。故此,本申请提供了一种基于关系数据库的查询方法,所述方法包括:获取输入查询指令;确定所述输入查询指令中的若干个子查询过滤条件;根据所述若干个子查询过滤条件,确定目标子查询过滤条件;根据所述目标子查询过滤条件,对关系数据库进行数据查询,得到查询结果。这样,本申请所提供的方法可以在关系数据库的查询阶段,根据输入查询指令中的若干个子查询过滤条件,确定目标子查询过滤条件,即针对若干个子查询过滤条件进行合并之后,生成一个更加严格的目标子查询过滤条件,来替代原有的若干个子查询过滤条件,从而使得查询优化器能够生成一个更加优化的查询计划,即可以降低查询的次数,使得关系数据库的查询能够更加高效的处理交集操作,也就是说,本申请所提供的方法考虑到合并各个子查询中的过滤条件来改写子查询,如果能够合并各个子查询语句中的子查询过滤条件,并将合并后的目标子查询过滤条件下推到各个子查询语句,这样将会获得更加严格的过滤条件,使得子查询语句产生更加少量的结果集,也降低了查询的次数,从而提高查询的执行效率,即与现有的关系数据库的查询过程相比,本申请所提供的方法可以大大降低查询的次数,提高了查询效率,进而提高了用本文档来自技高网...

【技术保护点】
1.一种基于关系数据库的查询方法,其特征在于,所述方法包括:/n获取输入查询指令;/n确定所述输入查询指令中的若干个子查询过滤条件;/n根据所述若干个子查询过滤条件,确定目标子查询过滤条件;/n根据所述目标子查询过滤条件所有子查询过滤条件所有子查询过滤条件对关系数据库进行数据查询,得到查询结果。/n

【技术特征摘要】
1.一种基于关系数据库的查询方法,其特征在于,所述方法包括:
获取输入查询指令;
确定所述输入查询指令中的若干个子查询过滤条件;
根据所述若干个子查询过滤条件,确定目标子查询过滤条件;
根据所述目标子查询过滤条件所有子查询过滤条件所有子查询过滤条件对关系数据库进行数据查询,得到查询结果。


2.根据权利要求1所述的方法,其特征在于,所述确定所述输入查询指令中的若干个子查询过滤条件,包括:
对所述输入查询指令进行解析,得到语法解析树;
确定所述语法解析树中的全部子查询过滤条件。


3.根据权利要求1所述的方法,其特征在于,所述根据所述若干个子查询过滤条件,确定目标子查询过滤条件,包括:
对所述若干子查询过滤条件进行合取处理,得到所述目标子查询过滤条件。


4.根据权利要求3所述的方法,其特征在于,所述对所述若干子查询过滤条件进行合取处理,得到所述目标子查询过滤条件,包括:
对所述若干子查询过滤条件进行与运算处理,得到包括所述若干子查询过滤条件且所述若干子查询过滤条件之间均为与关系的目标子查询过滤条件。


5.根据权利要求1所述的方法,其特征在于,所述根据所述目标子查询过滤条件,对关系数据库进行数据查询,得到查询结果,包括:
根据所述目标子查询过滤条件,对所述输入查询指令进行调整,得到调整后的输入查询指令;
利用所...

【专利技术属性】
技术研发人员:余鹏何小栋
申请(专利权)人:广州海量数据库技术有限公司
类型:发明
国别省市:广东;44

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

1