System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及连接消除,尤其涉及一种连接消除方法、装置、设备、介质和计算机程序产品。
技术介绍
1、在向数据库数据查询时,需要基于查询语句进行数据查询。
2、查询语句中包括有内连接句式,例如,查询语句包括的内连接句式为“t1 innerjoin t2”,t1以及t2表示为两个数据表,inner join表示内连接。在通过具有内连接句式的查询语句进行数据查询数据,需要对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.根据权利要求2所述的连接消除方法,其特征在于,所述在所述初始查询语句中获取各个第二句式的步骤之后,还包括:
4.根据权利要求1所述的连接消除方法,其特征在于,所述获取初始查询语句的步骤包括:
5.根据权利要求4所述的连接消除方法,其特征在于,所述确定所述待处理查询语句中是否包括内连接句式的步骤之后,还包括:
6.根据权利要求5所述的连接消除方法,其特征在于,所述确定所述待处理查询语句中是否包括设定句式的步骤之后,还包括:
7.一种连接消除装置,其特征在于,包括:
8.一种连接消除设备,其特征在于,包括:存储器和处理器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的连接消除方法。
...【技术特征摘要】
1.一种连接消除方法,其特征在于,包括:
2.根据权利要求1所述的连接消除方法,其特征在于,所述在所述初始查询语句将所述第一句式替换为第二数据表的标识,且将所述约束条件替换为设定条件的步骤包括:
3.根据权利要求2所述的连接消除方法,其特征在于,所述在所述初始查询语句中获取各个第二句式的步骤之后,还包括:
4.根据权利要求1所述的连接消除方法,其特征在于,所述获取初始查询语句的步骤包括:
5.根据权利要求4所述的连接消除方法,其特征在于,所述确定所述待处理查询语句中是否包括内连接句式的步骤之后,还包括:
<...【专利技术属性】
技术研发人员:杨紫璇,徐登峰,王源春,尹强,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。