本发明涉及数据查询领域,更具体的说,涉及一种数据查询方法及装置。
背景技术:
1、随着数据查询能力的逐渐提高,跨库查询的需求也越来越多。跨库查询是指在同一查询sql(structuredquerylanguage,结构化查询语言)中需要同时查询多个不同的数据库。
2、目前,在进行跨库查询时,需要将待查询的多个不同的数据库的内容存储到同一目标数据库,然后对该目标数据库进行查询操作,从而间接实现跨库查询。但是这种方式,需要先进行数据同步操作,使得数据查询时间较长,降低数据查询效率。
技术实现思路
1、鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种数据查询方法及装置。
2、一种数据查询方法,包括:
3、获取查询请求,并按照所述查询请求的语法结构,对所述查询请求进行拆分操作,得到至少一个查询子请求;
4、执行所述查询子请求,得到查询子结果,并将所述查询子结果存储到同一数据库中;
5、对存储到同一数据库中的所述查询子结果进行汇总,得到所述查询请求的查询结果。
6、可选地,按照所述查询请求的语法结构,对所述查询请求进行拆分操作,得到至少一个查询子请求,包括:
7、生成所述查询请求的语法结构树;
8、从所述语法结构树的根节点开始,对所述语法结构树的各个分支按照节点顺序依次遍历,得到至少一个查询子请求。
9、可选地,生成所述查询请求的语法结构树,包括:
10、获取所述查询请求中的数据库名标识,并按照数据库名标识与实际库名的对应关系,确定所述数据库名标识对应的实际库名;
11、生成所述查询请求的语法结构树,并将所述语法结构树中的数据库名标识替换为相应的实际库名。
12、可选地,执行所述查询子请求,得到查询子结果,包括:
13、确定所述查询子请求对应的待查询数据库,并获取所述待查询数据库的连接配置信息;
14、通过所述连接配置信息与所述待查询数据库连接;
15、在与所述待查询数据库成功连接后,执行所述查询子请求,得到查询子结果。
16、可选地,将所述查询子结果存储到同一数据库中,包括:
17、在同一数据库确定出与所述查询子结果的数量相同的数据存储文件,并将所述查询子结果存储到相应的数据存储文件中。
18、可选地,对存储到同一数据库中的所述查询子结果进行汇总,得到所述查询请求的查询结果,包括:
19、获取所述数据存储文件的文件名称,并将所述查询请求中的数据库名标识替换为相应的数据存储文件的文件名称,得到汇总请求;
20、执行所述汇总请求,得到查询请求的查询结果。
21、一种数据查询装置,包括:
22、请求确定模块,用于获取查询请求,并按照所述查询请求的语法结构,对所述查询请求进行拆分操作,得到至少一个查询子请求;
23、请求执行模块,用于执行所述查询子请求,得到查询子结果,并将所述查询子结果存储到同一数据库中;
24、数据汇总模块,用于对存储到同一数据库中的所述查询子结果进行汇总,得到所述查询请求的查询结果。
25、可选地,所述请求确定模块包括:
26、结构树生成子模块,用于生成所述查询请求的语法结构树;
27、遍历子模块,用于从所述语法结构树的根节点开始,对所述语法结构树的各个分支按照节点顺序依次遍历,得到至少一个查询子请求。
28、一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的数据查询方法。
29、一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的数据查询方法。
30、借由上述技术方案,本发明提供了一种数据查询方法及装置,获取查询请求,并按照所述查询请求的语法结构,对所述查询请求进行拆分操作,得到至少一个查询子请求,执行所述查询子请求,得到查询子结果,并将所述查询子结果存储到同一数据库中,对存储到同一数据库中的所述查询子结果进行汇总,得到所述查询请求的查询结果。即本发明中,将查询请求拆分为查询子请求,并分别执行查询子请求,得到查询子结果后进行汇总操作。不再需要将待查询的多个不同的数据库的内容存储到同一目标数据库,节省了数据同步步骤,进而缩短了数据查询时间,提高数据查询效率。
31、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的数据查询方法,其特征在于,按照所述查询请求的语法结构,对所述查询请求进行拆分操作,得到至少一个查询子请求,包括:
3.根据权利要求2所述的数据查询方法,其特征在于,生成所述查询请求的语法结构树,包括:
4.根据权利要求1所述的数据查询方法,其特征在于,执行所述查询子请求,得到查询子结果,包括:
5.根据权利要求1所述的数据查询方法,其特征在于,将所述查询子结果存储到同一数据库中,包括:
6.根据权利要求1所述的数据查询方法,其特征在于,对存储到同一数据库中的所述查询子结果进行汇总,得到所述查询请求的查询结果,包括:
7.一种数据查询装置,其特征在于,包括:
8.根据权利要求7所述的数据查询装置,其特征在于,所述请求确定模块包括:
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6中任一项所述的数据查询方法。
10.一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-6中任一项所述的数据查询方法。