[发明专利]一种数据库查询方法、装置、服务器和存储介质有效
申请号: | 201810493634.3 | 申请日: | 2018-05-22 |
公开(公告)号: | CN108804554B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 张钦;朱仲颖;万伟 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2455 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 查询 方法 装置 服务器 存储 介质 | ||
1.一种数据库查询方法,其特征在于,包括:
接收结构化查询语言SQL语句,并对所述SQL语句进行语法识别,获取所述SQL语句中的过滤条件;
若所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上,则获取所述过滤条件的过滤值;其中,预设过滤条件包括指定范围过滤条件或者逻辑或过滤条件;
确定包括常量或常量表达式的过滤值为目标过滤值,并创建与所述目标过滤值相对应的常量表操作符;
创建常量表,并通过代价估算确定所述常量表与所述过滤条件所限定的单表之间的连接方式;
基于所述常量表操作符以及所述连接方式生成执行计划树,并结合所述目标过滤值执行所述执行计划树。
2.根据权利要求1所述的方法,其特征在于,所述若所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上,则获取所述过滤条件的过滤值,包括:
若所述过滤条件满足所述指定范围过滤条件,则判断所述过滤条件所包含的待过滤表及待过滤列是否相同;
若所述待过滤表相同且所述待过滤列相同,则获取所述过滤条件所包含的各条件值作为过滤值。
3.根据权利要求1所述的方法,其特征在于,所述若所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上,则获取所述过滤条件的过滤值,包括:
若所述过滤条件满足所述逻辑或过滤条件,则判断所述过滤条件所包含的待过滤表及待过滤列是否相同;
若所述待过滤表相同且所述待过滤列相同,则获取所述过滤条件中等值过滤的各条件值作为过滤值。
4.根据权利要求1所述的方法,其特征在于,所述结合所述目标过滤值执行所述执行计划树,包括:
将所述目标过滤值加载至所述常量表;
若所述连接方式为归并连接,则对加载后的常量表中的数据进行排序;
基于排序后的常量表,执行所述执行计划树。
5.根据权利要求4所述的方法,其特征在于,在所述将所述目标过滤值加载至所述常量表之后,还包括:
去除所述常量表中的重复数据。
6.一种数据库查询装置,其特征在于,包括:
过滤条件获取模块,用于接收SQL语句,并对所述SQL语句进行语法识别,获取所述SQL语句中的过滤条件;
过滤值获取模块,用于在所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上时,获取所述过滤条件的过滤值;其中,预设过滤条件包括指定范围过滤条件或者逻辑或过滤条件;
操作符创建模块,用于确定包括常量或常量表达式的过滤值为目标过滤值,并创建与所述目标过滤值相对应的常量表操作符;
连接方式确定模块,用于创建常量表,并通过代价估算确定所述常量表与所述过滤条件所限定的单表之间的连接方式;
计划树执行模块,用于基于所述常量表操作符以及所述连接方式生成执行计划树,并结合所述目标过滤值执行所述执行计划树。
7.根据权利要求6所述的装置,其特征在于,所述过滤值获取模块,包括:
第一判断单元,用于在所述过滤条件满足所述指定范围过滤条件时,判断所述过滤条件所包含的待过滤表及待过滤列是否相同;
第一获取单元,用于在所述待过滤表相同且所述待过滤列相同时,获取所述过滤条件所包含的各条件值作为过滤值。
8.一种服务器,其特征在于,包括输入装置,还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的一种数据库查询方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的一种数据库查询方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810493634.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:打印文档搜索方法和装置
- 下一篇:协议展示方法、装置和电子设备