[发明专利]数据库查询方法和装置在审
申请号: | 202211289477.7 | 申请日: | 2022-10-20 |
公开(公告)号: | CN115563148A | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 王国平;朱涛;赵占越 | 申请(专利权)人: | 北京奥星贝斯科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京布瑞知识产权代理有限公司 11505 | 代理人: | 张欣 |
地址: | 100020 北京市朝阳区东三*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 查询 方法 装置 | ||
提供一种数据库查询方法和装置。所述数据库查询方法包括:接收第一数据库查询语句,所述第一数据库查询语句包括第一查询分支和第二查询分支,所述第一查询分支和所述第二查询分支通过OR谓词连接;将所述第一数据库查询语句中的所述OR谓词展开,得到第二数据库查询语句,所述第二数据库查询语句包括第三数据库查询语句和第四数据库查询语句,所述第三数据库查询语句用于执行所述第一查询分支,所述第四数据库查询语句用于执行所述第二查询分支,且所述第三数据库查询语句和所述第四数据库查询语句基于UNION DISTINCT相连;根据所述第二数据库查询语句查询数据库中的数据。
技术领域
本公开涉及数据库领域,并且更为具体地,涉及一种数据库查询方法和装置。
背景技术
数据库查询语句可能包含OR谓词。为了提高数据库查询语句的执行性能,通常会对包含OR谓词的数据库查询语句进行查询改写,以将OR谓词展开。
相关技术基于Union All对OR谓词进行展开。但在特定场景下,基于Union All对OR谓词进行展开之后,数据库查询语句的执行性能仍然较差。
发明内容
本公开提供一种数据库查询方法和装置,以提升数据库查询语句的执行性能。
第一方面,提供一种数据库查询方法,包括:接收第一数据库查询语句,所述第一数据库查询语句包括第一查询分支和第二查询分支,所述第一查询分支和所述第二查询分支通过OR谓词连接;将所述第一数据库查询语句中的所述OR谓词展开,得到第二数据库查询语句,所述第二数据库查询语句包括第三数据库查询语句和第四数据库查询语句,所述第三数据库查询语句用于执行所述第一查询分支,所述第四数据库查询语句用于执行所述第二查询分支,且所述第三数据库查询语句和所述第四数据库查询语句基于UNIONDISTINCT相连;根据所述第二数据库查询语句查询数据库中的数据。
可选地,作为一种可能的实现方式,在所述将所述第一数据库查询语句中的所述OR谓词展开之前,所述方法还包括:检查所述第一数据库查询语句中的查询分支是否能够输出唯一列集合;所述将所述第一数据库查询语句中的所述OR谓词展开,包括:如果所述第一数据库查询语句中的查询分支均能够输出唯一列集合,则将所述第一数据库查询语句中的所述OR谓词展开。
可选地,作为一种可能的实现方式,在所述将所述第一数据库查询语句中的所述OR谓词展开之前,所述方法还包括:对所述第一数据库查询语句中的查询分支进行SPJ分离。
可选地,作为一种可能的实现方式,所述第一查询分支和/或所述第二查询分支中的谓词为子查询谓词。
可选地,作为一种可能的实现方式,所述数据库查询语句为SQL语句。
第二方面,提供一种数据库查询装置,包括:接收模块,用于接收第一数据库查询语句,所述第一数据库查询语句包括第一查询分支和第二查询分支,所述第一查询分支和所述第二查询分支通过OR谓词连接;展开模块,用于将所述第一数据库查询语句中的所述OR谓词展开,得到第二数据库查询语句,所述第二数据库查询语句包括第三数据库查询语句和第四数据库查询语句,所述第三数据库查询语句用于执行所述第一查询分支,所述第四数据库查询语句用于执行所述第二查询分支,且所述第三数据库查询语句和所述第四数据库查询语句基于UNION DISTINCT相连;查询模块,用于根据所述第二数据库查询语句查询数据库中的数据。
可选地,作为一种可能的实现方式,所述装置还包括:检查模块,用于在所述将所述第一数据库查询语句中的所述OR谓词展开之前,检查所述第一数据库查询语句中的查询分支是否能够输出唯一列集合;所述展开模块用于:如果所述第一数据库查询语句中的查询分支均能够输出唯一列集合,则将所述第一数据库查询语句中的所述OR谓词展开。
可选地,作为一种可能的实现方式,所述装置还包括:分离模块,用于在所述将所述第一数据库查询语句中的所述OR谓词展开之前,对所述第一数据库查询语句中的查询分支进行SPJ分离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奥星贝斯科技有限公司,未经北京奥星贝斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211289477.7/2.html,转载请声明来源钻瓜专利网。