[发明专利]一种数据库查询方法、装置、服务器和存储介质有效
申请号: | 201810493634.3 | 申请日: | 2018-05-22 |
公开(公告)号: | CN108804554B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 张钦;朱仲颖;万伟 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2455 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 查询 方法 装置 服务器 存储 介质 | ||
本发明公开了一种数据库查询方法、装置、服务器和存储介质,该方法包括:接收SQL语句,并对SQL语句进行语法识别获取SQL语句所包含的过滤条件;在该过滤条件满足预设过滤条件并且该过滤条件限定于单表上时,获取过滤条件的过滤值;确定包括常量或常量表达式的过滤值为目标过滤值,并创建与目标过滤值相对应的常量表操作符;基于该常量表操作符生成执行计划树,并结合目标过滤值执行该执行计划树。采用上述技术方案优化了数据库的查询方法,提高了数据库的查询效率,增强了用户的使用体验。
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据库查询方法、装置、服务器和存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。随着大数据时代的到来,数据库经常需要在海量数据中选出满足特定需求的数据来完成查询操作。
现有技术中,在采用结构化查询语言(Structured Query Language,SQL)对关系数据库进行数据的查询操作时,常常会采用指定范围(IN)布尔表达式形成的IN过滤条件进行查询或者采用逻辑或(OR)布尔表达式形成的OR过滤条件进行查询。
然而,在数据库管理系统中,上述两种布尔表达式的处理方式都是由单独的指令对数据表中的记录进行逐一判断,采用上述任意一种处理方式对数据进行处理的效率较低。
发明内容
本发明提供了一种数据库查询方法、装置、服务器和存储介质,以实现在采用IN过滤条件或者OR过滤条件进行数据查询时,能够提高数据查询效率。
第一方面,本发明实施例提供了一种数据库查询方法,该方法包括:
接收SQL语句,并对所述SQL语句进行语法识别,获取所述SQL语句中的过滤条件;
若所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上,则获取所述过滤条件的过滤值;其中,预设过滤条件包括指定范围过滤条件或者逻辑或过滤条件;
确定包括常量或常量表达式的过滤值为目标过滤值,并创建与所述目标过滤值相对应的常量表操作符;
基于所述常量表操作符生成执行计划树,并结合所述目标过滤值执行所述执行计划树。
第二方面,本发明实施例还提供了一种数据库查询装置,该装置包括:
过滤条件获取模块,用于接收SQL语句,并对所述SQL语句进行语法识别,获取所述SQL语句中的过滤条件;
过滤值获取模块,用于在所述过滤条件满足预设过滤条件并且所述过滤条件限定于单表上时,获取所述过滤条件的过滤值;其中,预设过滤条件包括指定范围过滤条件或者逻辑或过滤条件;
操作符创建模块,用于确定包括常量或常量表达式的过滤值为目标过滤值,并创建与所述目标过滤值相对应的常量表操作符;
计划树执行模块,用于基于所述常量表操作符生成执行计划树,并结合所述目标过滤值执行所述执行计划树。
第三方面,本发明实施例还提供了一种服务器,包括输入装置,该服务器还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例所提供的一种数据库查询方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的一种数据库查询方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810493634.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:打印文档搜索方法和装置
- 下一篇:协议展示方法、装置和电子设备