[发明专利]一种数据库归档模式下跨库查询方法和装置有效
申请号: | 201911318818.7 | 申请日: | 2019-12-19 |
公开(公告)号: | CN111078728B | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 赵永光;朱晓洪;钱进;宋喆;于秋波;闫中敏;孟子成 | 申请(专利权)人: | 山大地纬软件股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/2458 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李琳 |
地址: | 250102 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 归档 模式 下跨库 查询 方法 装置 | ||
1.一种数据库归档模式下跨库查询方法,其特征是:包括以下步骤:
划定逻辑数据库区域,划分归档域和非归档域,定义跨域子查询语法;
对基于跨域子查询语法的sql语句进行解析处理,解析成语法树,并进行跨域子查询处理,形成相应的临时表,利用临时表消除原Sql中的跨域子查询,得到原生sql语句,执行原生sql语句并得到查询结果;
所述划定逻辑数据库区域,其中生产库和多个归档数据库中所有归档表组成归档域,生产库中所有非归档表组成非归档域;通过在主查询sql语句中加入自定义跨域子查询语句来同时访问归档域和非归档域实现跨库查询;
跨域子查询预处理的过程包括对所有First跨域子查询和Medial跨域子查询,判断数据是否进行过归档,从而确定跨域子查询是否需要在归档数据库中执行;如果数据尚未进行过归档,则直接将该跨域子查询去除跨域子查询语法、转化为只在生产库执行的原生sql。
2.如权利要求1所述的一种数据库归档模式下跨库查询方法,其特征是:所述sql解析成语法树,判断语法正确性,如果sql语法不正确则直接结束,否则进行跨域子查询预处理。
3.如权利要求1所述的一种数据库归档模式下跨库查询方法,其特征是:对于所有First跨域子查询,去除包含父查询列的where表达式,之后分别在生产库和归档数据库执行,合并结果形成First临时表,如果存在嵌套的First跨域子查询,先做内层,再做外层。
4.如权利要求1所述的一种数据库归档模式下跨库查询方法,其特征是:计算Medial跨域子查询中涉及到的主查询列的取值,形成Bridge临时表,取所有Medial跨域子查询中涉及到的主查询相关列作为主查询的列,组织成新sql在生产库执行,形成Bridge临时表。
5.如权利要求1所述的一种数据库归档模式下跨库查询方法,其特征是:Medial跨域子查询处理,形成Medial临时表,具体为,对于所有Medial跨域子查询,借助Bridge临时表替换掉Medial跨域子查询中涉及到的主查询列,之后分别在生产库和归档数据库执行,合并结果形成Medial临时表。
6.一种数据库归档模式下跨库查询系统,用于执行如权利要求1所述的一种数据库归档模式下的跨库查询方法,其特征是:包括:
跨库查询预处理模块,被配置为划定逻辑数据库区域,划分归档域和非归档域,定义跨域子查询语法;
跨库查询Sql处理模块,被配置为对基于跨域子查询语法的sql语句进行解析处理,解析成语法树,并进行跨域子查询处理,形成相应的临时表,利用临时表消除原Sql中的跨域子查询,得到原生sql语句;
跨库查询Sql执行模块,被配置为执行得到的原生sql语句,得到查询结果。
7.一种计算机可读存储介质,其特征是:其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行权利要求1-5中任一项所述的一种数据库归档模式下跨库查询方法的步骤。
8.一种终端设备,其特征是:包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行权利要求1-5中任一项所述的一种数据库归档模式下跨库查询方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大地纬软件股份有限公司,未经山大地纬软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911318818.7/1.html,转载请声明来源钻瓜专利网。