[发明专利]数据库查询脚本生成方法及装置有效

专利信息
申请号: 201710908460.8 申请日: 2017-09-29
公开(公告)号: CN110019357B 公开(公告)日: 2021-06-29
发明(设计)人: 蒋亚飞 申请(专利权)人: 北京国双科技有限公司
主分类号: G06F16/2455 分类号: G06F16/2455;G06F16/2453;G06F16/242
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 史翠;王宝筠
地址: 100080 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据库 查询 脚本 生成 方法 装置
【说明书】:

发明公开了一种数据库查询脚本生成方法及装置,将各个事实表依次关联到维度表上,得到维度表与所有事实表的一个关联结果;最后,利用该关联结果构造数据库查询脚本。由此可见,每个事实表分别与上一次的关联结果进行关联,因为事实表与维度表关联后的数据量级取决于维度表的数据量级;而且,无论维度表关联几个事实表,其关联结果的数据量级都取决于维度表的数据量级,所以,整个关联过程的数据量级始终是一个维度表的数据量级,远远小于现有的关联方式产生的中间数据量。因此,大大减少了对I/O资源和内存资源的开销,从而提高了数据库查询性能。

技术领域

本发明涉及计算机技术领域,尤其涉及一种数据查询脚本生成方法及装置。

背景技术

在软件系统中进行数据查询时,需要构造数据库查询脚本,即SQLScript。根据输入的业务查询参数(即,CommonQuery)构造SQLScript。

传统的生成查询脚本的方法,将业务查询参数结合元数据(Meta Data)生成分析树,再将分析树转换成SQL脚本。分析树是构造SQL脚本过程中的一种数据结构。数据库包括事实表和维度表,其中,维度表一般用来存储实体的基本属性,例如,商品的名称、单价等;事实表一般存储实体对应的实际指标数据,例如,某商品今天卖了多少件,一共卖了多少钱等等实体数据。一般情况下,一次查询都会涉及到多张表(包括事实表和维度表),即需要多张表关联才能查询出需要的结果。如果这多张表中包括多张事实表和一张维度表,则需要每一张事实表分别与维度表关联(Join),最后,再将多个关联的结果进行Full Join得到分析树。例如,本次查询涉及到的表包括:D1(维度表)、M1(事实表)、M2(事实表)和M3(事实表);按照上述的生成分析树的过程,需要经过一下四步:D1 Join M1得到D1_M1,D1 JoinM2输出D1_M2,D1 Join M3输出D1_M3,最后,D1_M1Full Join D1_M2Full Join D1_M3。

上述生成分析树的过程中,每一张事实表都要与维度表进行Join,有几张事实表就会得到几张维度量级的大结果集。上述实例中,有3个事实表,就会产生3个维度量级的结果集,例如,维度表的数据量级是10万,则会产生3个10万量级的大结果集。如果事实表的数量较多,则会产生很多个维度表量级的中间数据,这会大大增加IO资源和内存资源的开销,可能导致致命性的性能问题,例如,大量的中间数据达到数据库的处理极限,导致数据查询异常或根本查不出结果,总之,会导致数据库的查询性能大大降低。

发明内容

鉴于上述问题,提出了本发明的一种数据库查询脚本生成方法及装置,以解决数据查询性能较差的技术问题。

借由上述技术方案,本发明提供的数据库查询脚本生成方法,接收到查询请求后,获得相应的查询参数;根据查询参数获取当前查询涉及的维度表和所有事实表,将各个事实表依次关联到维度表上,得到维度表与所有事实表的一个关联结果;最后,利用该关联结果构造数据库查询脚本。由此可见,该方法直接将各个事实表依次关联到维度表上,即,每个事实表分别与上一次的关联结果进行关联,因为事实表与维度表关联后的数据量级取决于维度表的数据量级;而且,无论维度表关联几个事实表,其关联结果的数据量级都取决于维度表的数据量级,所以,整个关联过程的数据量级始终是一个维度表的数据量级,远远小于现有的关联方式产生的中间数据量。因此,大大减少了对I/O资源和内存资源的开销,从而提高了数据库查询性能。而且,整个关联过程只需要使用Left Join、Inner Join或RightJoin操作等,不需要进行Full Join操作,因为Left Join、Inner Join和Right Join占用的资源开销都小于Full Join占用的资源开销,所以,能够进一步提高数据库的查询性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710908460.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top