本发明属于数据库,具体提供了一种远程数据库连接查询的方法、机器可读存储介质和计算机设备。
背景技术:
1、在现有技术中,可以通过本地数据库查询远程数据库中的数据。
2、连接查询是数据库查询的一种常见操作。连接查询用于将多个表中的数据根据一定的关联条件连接起来,并返回结果集。通过连接查询,可以从不同的表中获取相关联的数据,并将它们组合在一起,以满足特定的查询需求。
3、通过连接查询可以从远程数据库获取多个表的数据。现有技术一般是将远程数据库中的相关数据全部查询到本地数据库后,再做连接查询操作。
4、但是,如果远程数据库中相关表内的数据非常大,将会导致大量的网络通讯,不仅耗时严重,而且还会挤占网络带宽,增加整个系统的不稳定性。并且,由于连接查询全部在本地数据库进行,增加了本地数据库的计算量。在本地数据库非常忙碌的时候,会显著增加本地数据库cpu的负载,拖慢本地数据库的性能,进而拖慢整个系统的性能。
技术实现思路
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、本发明的其他有益效果将会在后文中结合附图进行详细描述,以便本领域技术人员能够更加清楚地了解本发明的改进目的、特征和优点。
1.一种远程数据库连接查询的方法,包括:
2.根据权利要求1所述的方法,其中,
3.根据权利要求2所述的方法,其中,
4.根据权利要求3所述的方法,其中,
5.根据权利要求1所述的方法,其中,
6.根据权利要求1至5中任一项所述的方法,还包括:
7.根据权利要求1至5中任一项所述的方法,在所述将所述远程结果数据集返回本地数据库的步骤之后,所述方法还包括:
8.根据权利要求1至5中任一项所述的方法,还包括:
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的远程数据库连接查询的方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述远程数据库连接查询的方法。