本发明涉及连接消除,尤其涉及一种连接消除方法、装置、设备、介质和计算机程序产品。
背景技术:
1、在向数据库数据查询时,需要基于查询语句进行数据查询。
2、查询语句中包括有全连接句式,例如,查询语句中的全连接句式为“t1full joint2”,t1以及t2表示为两个数据表。在通过具有全连接句式的查询语句进行数据查询数据,需要对t1以及t2两个表进行扫描。
3、上述方式需要扫描t1以及t2两个表才可获得查询数据,数据查询的效率较低。
技术实现思路
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、本发明提供的连接消除方法、装置、设备、介质和计算机程序产品,获取包括全接连句式的初始查询语句,并在初始查询语句块包括去重类型的查询块时,将初始查询语句中的全连接句式以及对应的条件句式替换为第一数据表对应的标识得到目标查询语句,再基于目标查询语句进行数据查询。本发明中,当查询语句中包括有全接连句式以及去重类型的查询块时,将查询语句中的全连接句式以及全连接句式对应的条件句式替换为第一数据表的标识得到目标查询语句,使得在通过目标查询语句进行数据查询时,仅需扫描第一数据表即可得到查询数据,而无需扫描第一数据表以及第二数据表,节省了扫描时间,提高了数据查询效率。
1.一种连接消除方法,其特征在于,包括:
2.根据权利要求1所述的连接消除方法,其特征在于,所述将所述初始查询语句中的全接连句式以及所述全连接句式对应的条件句式,替换为所述第一数据表对应的标识的步骤包括:
3.根据权利要求1所述的连接消除方法,其特征在于,所述获取初始查询语句的步骤之后,还包括:
4.根据权利要求1所述的连接消除方法,其特征在于,所述将所述初始查询语句中的全接连句式以及所述全连接句式对应的条件句式,替换为所述第一数据表对应的标识的步骤包括:
5.根据权利要求4所述的连接消除方法,其特征在于,所述在所述初始查询语句中,确定所述第二数据表的数据是否被引用的步骤包括:
6.根据权利要求1所述的连接消除方法,其特征在于,所述将所述初始查询语句中的全接连句式以及所述全连接句式对应的条件句式,替换为所述第一数据表对应的标识的步骤包括:
7.一种连接消除装置,其特征在于,包括:
8.一种连接消除设备,其特征在于,包括:存储器和处理器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的连接消除方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6任一项所述的连接消除方法。