System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据库查询方法、装置、设备及存储介质制造方法及图纸_技高网

一种数据库查询方法、装置、设备及存储介质制造方法及图纸

技术编号:41233880 阅读:2 留言:0更新日期:2024-05-09 23:48
本发明专利技术公开了一种数据库查询方法、装置、设备及存储介质。该方法包括:对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式;将所述常量表达式以链表的形式写入UNION ALL结构体中,以得到目标结构体;利用所述目标结构体执行数据库查询操作。本发明专利技术实施例的技术方案,将语法树中不需要执行实际表扫描的UNION ALL分支的常量值写入结构体,从而在执行数据库查询操作时可以直接输出该常量值,提高了数据库查询的执行效率。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种数据库查询方法、装置、设备及存储介质


技术介绍

1、union all查询是结构化查询语言(structured query language,sql)中一种常用的查询手段。由于sql语句的查询结果是元组的集合,所以多个sql语句的结果可以进行集合运算,union all运算就是其中一种。union all查询可以合并多个sql语句的结果一起输出,且不对结果集进行去重。在执行union all查询的过程中,可能存在单个union all分支的输出始终为常量的情况。

2、然而,当多个此类常量查询项分支进行union all运算时,常量数据从底层操作符向顶层操作符传递的过程中,随着union all层数增多,常量数据向上传递的路径也相应得变长,数据库查询的整体执行性能会受到严重影响。


技术实现思路

1、本专利技术提供了一种数据库查询方法、装置、设备及存储介质,以解决多层数的union all查询常量数据时,数据库查询效率较低的问题。

2、第一方面,本专利技术提供了一种数据库查询方法,包括:

3、对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式;

4、将所述常量表达式以链表的形式写入union all结构体中,以得到目标结构体;

5、利用所述目标结构体执行数据库查询操作。

6、第二方面,本专利技术提供了一种数据库查询装置,包括:

7、常量表达式确定模块,用于对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式;

8、目标结构体确定模块,用于将所述常量表达式以链表的形式写入union all结构体中,以得到目标结构体;

9、数据库查询模块,用于利用所述目标结构体执行数据库查询操作。

10、第三方面,本专利技术提供了一种电子设备,该电子设备包括:

11、至少一个处理器;

12、以及与至少一个处理器通信连接的存储器;

13、其中,存储器存储有可被至少一个处理器执行的计算机程序,该计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面的数据库查询方法。

14、第四方面,本专利技术提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现上述第一方面的数据库查询方法。

15、本专利技术提供的数据库查询方案,对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式,将所述常量表达式以链表的形式写入union all结构体中,以得到目标结构体,利用所述目标结构体执行数据库查询操作。通过采用上述技术方案,将语法树中不需要执行实际表扫描的union all分支的常量值写入结构体,从而在执行数据库查询操作时可以直接输出该常量值,提高了数据库查询的执行效率。

16、应当理解,本部分所描述的内容并非旨在标识本专利技术的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种数据库查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式,包括:

3.根据权利要求2所述的方法,其特征在于,所述从数据库查询语言的语法树的底层开始,针对所述语法树中的每个UNION ALL分支,对当前UNION ALL分支进行常量查询,以确定所述当前UNION ALL分支是否为常量查询分支,包括:

4.根据权利要求3所述的方法,其特征在于,所述预设常量查询条件包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述常量表达式以链表的形式写入UNION ALL结构体中,以得到目标结构体,包括:

6.根据权利要求1所述的方法,其特征在于,所述利用所述目标结构体执行数据库查询操作,包括:

7.根据权利要求5所述的方法,其特征在于,所述利用当前常量表达式更新当前常量链表,包括:

8.一种数据库查询装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据库查询方法。

...

【技术特征摘要】

1.一种数据库查询方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述对数据库查询语言的语法树进行常量查找,以确定所述语法树中的常量表达式,包括:

3.根据权利要求2所述的方法,其特征在于,所述从数据库查询语言的语法树的底层开始,针对所述语法树中的每个union all分支,对当前union all分支进行常量查询,以确定所述当前union all分支是否为常量查询分支,包括:

4.根据权利要求3所述的方法,其特征在于,所述预设常量查询条件包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述常量...

【专利技术属性】
技术研发人员:徐家辉朱仲颖韩朱忠
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1