[发明专利]数据查询方法、装置、设备及存储介质有效
申请号: | 202110873375.9 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113535756B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 孟正凌;朱仲颖;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/22 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 马迪 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种数据查询方法、装置、设备及存储介质,该方法包括若用户输入的查询语句为多表连接查询语句且满足设定条件;根据查询项将多个数据表划分为第一数据表集合以及第二数据表集合;其中,第一数据表集合中的数据表与查询项直接或者间接相关;第二数据表集合中的数据表与查询项不相关;将第二数据表集合中的数据表信息从查询语句中移除,并根据第二数据表集合生成补充条件;将补充条件与移除数据表的查询语句进行拼接,形成新的查询语句;基于新的查询语句进行数据查询。利用该方法,将补充条件与移除数据表的查询语句进行拼接,通过对查询语句进行优化改写,消除其中的冗余表,可以减少中间结果集的产生,从而提高查询的效率。
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据查询方法、装置、设备及存储介质。
背景技术
当查询语句(如:结构化查询语言(Structured Query Language,SQL))中涉及两个及两个以上的数据表时,就需要对这些数据表进行连接查询。多表连接查询有可能产生比较庞大的中间结果集,从而影响查询效率。
发明内容
本发明实施例提供一种数据查询方法、装置、设备及存储介质,通过对查询语句进行改写,可以减少中间结果集的产生,从而提高查询效率。
第一方面,本发明实施例提供了一种数据查询方法,该方法包括:
若用户输入的查询语句为多表连接查询语句且满足设定条件;其中,所述设定条件包括:携带有设定关键字以及不包含集函数;且所述查询语句中包含有多个数据表信息;
根据查询项将所述多个数据表划分为第一数据表集合以及第二数据表集合;其中,所述第一数据表集合中的数据表与所述查询项直接或者间接相关;所述第二数据表集合中的数据表与所述查询项不相关;
将所述第二数据表集合中的数据表信息从所述查询语句中移除,并根据所述第二数据表集合生成补充条件;
将所述补充条件与移除数据表的查询语句进行拼接,形成新的查询语句;
基于所述新的查询语句进行数据查询。
第二方面,本发明实施例还提供了一种数据查询装置,该装置包括:
查询语句判定模块,用于判定用户输入的查询语句是否为多表连接查询语句且满足设定条件;其中,所述设定条件包括:携带有设定关键字以及不包含集函数;且所述查询语句中包含有多个数据表信息;
数据表划分模块,用于当用户输入的查询语句为多表连接查询语句且满足设定条件时,根据查询项将所述多个数据表划分为第一数据表集合以及第二数据表集合;其中,所述第一数据表集合中的数据表与所述查询项直接或者间接相关;所述第二数据表集合中的数据表与所述查询项不相关;
数据表信息移除模块,用于将所述第二数据表集合中的数据表信息从所述查询语句中移除,并根据所述第二数据表集合生成补充条件;
查询语句拼接模块,用于将所述补充条件与移除数据表的查询语句进行拼接,形成新的查询语句;
数据查询模块,用于基于所述新的查询语句进行数据查询。
第三方面,本发明实施例还提供了一种计算机设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面所述的数据查询方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述第一方面所述的数据查询方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110873375.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置