一种关系型数据库的数据查询方法与流程

未命名 07-23 阅读:103 评论:0


1.本发明涉及数据库数据查询技术领域,具体是一种关系型数据库的数据查询方法。


背景技术:

2.目前对于数据库的数据查询方法中,常使用的查询方法有实体化方法或者流水线方法或者指针方法,但目前的现有技术中,针对某一个具体数据查询中,通常使用这三种查询方法中的一种,这带来查询效率还不够高,另外,单纯的使用者三种查询方法的一种会占用较高的内存空间,以及相比于指针方法,另外两种查询方法占用cpu的时间较高。
3.因此,对于数据查询过程中,希望能够提高查询效率,并降低因查询而占用的内存和降低占用cpu的时间。


技术实现要素:

4.针对现有技术的不足,本发明的目的是提供一种关系型数据库的数据查询方法,其能够解决背景技术所描述的问题。
5.实现本发明的目的的技术方案为:一种关系型数据库的数据查询方法,包括如下步骤:
6.步骤1:获取当前数据查询请求,当前数据查询是具有多个关系的数据查询,若该数据查询存在至少一个中间操作结果所占用内存的第一内存空间小于数据查询本身所需要占用内存的第二内存空间,并且它们之间的差值在预设阈值内,则选用实体化查询方法完成当前数据查询请求,否则,执行步骤2;
7.步骤2:对当前数据查询中包括并集合差的运算,则采用指针查询方法和流水线查询方法相结合完成当前数查询请求,以使得查询所占用的内存相比于单独的指针查询方法或者流水线查询方法更小,若当前数据查询还包括其他运算操作,则执行步骤3;
8.步骤3:若当前数据查询请求中包括进行连接和/或投影操作,也即是除去步骤1和步骤2的其他查询运算操作,则选用实体化查询方法和流水线查询方法相结合,完成当前数据查询请求,以使得查询结果的关系元祖表示形式相对简单,并可通过流水线查询方法来控制额外消耗的内存。
9.进一步地,所述步骤2中,指针查询方法和流水线查询方法相结合,其具体实现包括如下步骤:
10.采用指针查询方法将当前数据查询请求所指向的下级节点向上级节点不断发送元组请求,上级节点产生元组并发送至缓冲区,待缓冲区存满元组后,下节节点从缓冲区中将元组依次取走。
11.进一步地,所述步骤3中,实体化查询方法和流水线查询方法相结合,其具体实现包括如下步骤:
12.通过实体化查询方法发送连接或投影操作请求,并通过算法执行该操作请求的运
算,把运算结果保存至流水线查询方法并作为输入,以便于传输到下一个运算中。
13.本发明的有益效果为:本发明通过数据查询请求的不同情形,将实体化、流水线和指针方法进行不同组合来完成查询,避免仅使用指针查询方法的缺点,能够减少查询的实际内存需求,并提高查询效率。
附图说明
14.图1为本发明的流程示意图。
具体实施方式
15.下面,结合附图以及具体实施方案,对本发明做进一步描述:
16.如图1所示,一种关系型数据库的数据查询方法,包括如下步骤:
17.步骤1:获取当前数据查询请求,当前数据查询是具有多个关系的数据查询,若该数据查询存在至少一个中间操作结果所占用内存的第一内存空间小于数据查询本身所需要占用内存的第二内存空间并且它们之间的差值在预设阈值内,则选用实体化查询方法完成当前数据查询请求,否则,执行步骤2。
18.其中,第一内存空间和第二内存空间的差值在预设阈值内,也即是表征第一内存远小于或者小很多第二内存空间。
19.在本步骤中,某些数据查询具有两个以上的关系,例如,笛卡尔积的查询具有两个关系,其查询输出是这两个关系的笛卡尔积所产生的临时关系。因此,在最终输出当前数据查询的查询结果前所产生的中间结果中至少存在一个中间结果,若存在某一个中间结果所占内存的第一内存空间小于最终输出的查询结果所占用内存的第二内存空间并且它们之间的差值在预设阈值内,则选用实体化查询方法来完成该数据查询请求。
20.步骤2:对当前数据查询中包括的并集合差等运算,则采用指针查询方法和流水线查询方法相结合完成当前数查询请求,以使得查询所占用的内存相比于单独的指针查询方法或者流水线查询方法更小。若当前数据查询还包括其他运算操作,则执行步骤3。
21.在本步骤中,指针查询方法和流水线查询方法相结合,其具体实现包括如下步骤:
22.采用指针查询方法将当前数据查询请求所指向的下级节点向上级节点不断发送元组请求,上级节点产生元组并发送至缓冲区,待缓冲区存满元组后,下节节点从缓冲区中将元组依次取走。
23.采用指针查询方法和流水线方法相结合,能够有效解决流水线查询方法可能会因为某种原因而无法及时获取到数据的问题,通过指针方法从下级节点向上级节点发送元组请求并从缓冲区中提取元组,能够避免无法及时获取到数据的问题。
24.步骤3:若当前数据查询请求中包括进行连接和/或投影操作等查询运算操作,也即是除去步骤1和步骤2的其他查询运算操作,则选用实体化查询方法和流水线查询方法相结合,完成当前数据查询请求,以使得查询结果的关系元祖表示形式相对简单,并可通过流水线查询方法来控制额外消耗的内存。
25.其中,连接和投影操作均没有使用指针查询方法。
26.在本步骤中,通过实体化查询方法和流水线查询方法相结合,不仅可以避免在处理某些查询时占用大量额外的内存,还可以获得更简单的表现方式。
27.在本步骤中,实体化查询方法和流水线查询方法相结合,其具体实现包括如下步骤:
28.通过实体化查询方法发送连接或投影操作请求,并通过算法执行该操作请求的运算,把运算结果保存至流水线查询方法并作为输入,以便于传输到下一个运算中。
29.在这个过程中,流水线查询方法所传递的计算结果越简单,最后得出的元组表现形式也就越简单。
30.本发明通过数据查询请求的不同情形,将实体化、流水线和指针方法进行不同组合来完成查询,避免仅使用指针查询方法的缺点,能够减少查询的实际内存需求,并提高查询效率。
31.本说明书所公开的实施例只是对本发明单方面特征的一个例证,本发明的保护范围不限于此实施例,其他任何功能等效的实施例均落入本发明的保护范围内。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。


技术特征:
1.一种关系型数据库的数据查询方法,其特征在于,包括如下步骤:步骤1:获取当前数据查询请求,当前数据查询是具有多个关系的数据查询,若该数据查询存在至少一个中间操作结果所占用内存的第一内存空间小于数据查询本身所需要占用内存的第二内存空间,并且它们之间的差值在预设阈值内,则选用实体化查询方法完成当前数据查询请求,否则,执行步骤2;步骤2:对当前数据查询中包括并集合差的运算,则采用指针查询方法和流水线查询方法相结合完成当前数查询请求,以使得查询所占用的内存相比于单独的指针查询方法或者流水线查询方法更小,若当前数据查询还包括其他运算操作,则执行步骤3;步骤3:若当前数据查询请求中包括进行连接和/或投影操作,也即是除去步骤1和步骤2的其他查询运算操作,则选用实体化查询方法和流水线查询方法相结合,完成当前数据查询请求,以使得查询结果的关系元祖表示形式相对简单,并可通过流水线查询方法来控制额外消耗的内存。2.根据权利要求1所述的关系型数据库的数据查询方法,其特征在于,所述步骤2中,指针查询方法和流水线查询方法相结合,其具体实现包括如下步骤:采用指针查询方法将当前数据查询请求所指向的下级节点向上级节点不断发送元组请求,上级节点产生元组并发送至缓冲区,待缓冲区存满元组后,下节节点从缓冲区中将元组依次取走。3.根据权利要求1或2所述的关系型数据库的数据查询方法,其特征在于,所述步骤3中,实体化查询方法和流水线查询方法相结合,其具体实现包括如下步骤:通过实体化查询方法发送连接或投影操作请求,并通过算法执行该操作请求的运算,把运算结果保存至流水线查询方法并作为输入,以便于传输到下一个运算中。

技术总结
本发明公开一种关系型数据库的数据查询方法,包括:获取当前数据查询请求,若中间操作结果所占用内存的第一内存空间小于数据查询本身所需要占用内存的第二内存空间,且差值在预设阈值内,则选用实体化查询方法;对当前数据查询中包括并集合差的运算,则采用指针查询方法和流水线查询方法相结合完成当前数查询请求;其他查询运算操作,则选用实体化查询方法和流水线查询方法相结合,完成当前数据查询请求,以使得查询结果的关系元祖表示形式相对简单,并可通过流水线查询方法来控制额外消耗的内存。本发明将实体化、流水线和指针方法进行不同组合来完成查询,避免仅使用指针查询方法的缺点,能够减少查询的实际内存需求,并提高查询效率。高查询效率。高查询效率。


技术研发人员:樊科星 朱正辉 张常华 林弟
受保护的技术使用者:广东保伦电子股份有限公司
技术研发日:2023.04.11
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐