[发明专利]一种数据查询方法在审

专利信息
申请号: 202011228537.5 申请日: 2020-11-06
公开(公告)号: CN112347077A 公开(公告)日: 2021-02-09
发明(设计)人: 范凯杰 申请(专利权)人: 北京神州数字科技有限公司
主分类号: G06F16/21 分类号: G06F16/21;G06F16/242;G06F16/2455
代理公司: 北京世誉鑫诚专利代理有限公司 11368 代理人: 任欣生
地址: 100037 北京市西*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 查询 方法
【说明书】:

发明公开的数据查询方法,涉及数据库技术领域,通过判断本次数据查询语句的总偏移量是否小于或等于预设的分页阈值,若是,则根据内存分页算法,直接执行本次数据查询语句,若否,则将对各个分表执行第一数据查询语句,将得到的查询结果作为各个分表的基准记录,将数值最小的基准记录作为全局基准记录,根据全局基准记录及查询条数1,构成第二数据查询语句,将各个分表的基准偏移量的和作为全局基准偏移量,判断总偏移量与全局基准偏移量的差是否小于等于预设的分页阈值,将总偏移量与全局基准偏移量的差作为偏移量并根据本次数据查询的条数,从数据集合中获取相应的数据,提高了精确度,降低了数据库性能损耗、执行时间以及内存消耗。

技术领域

本发明涉及数据库技术领域,具体涉及一种数据查询方法。

背景技术

通过对数据表进行水平切分,可以将数据存储从单个数据库扩展到多个数据库,极大地提高了应用系统的数据存储容量,从而提高应用系统的性能,是目前常用的解决大数据量场景下的数据库性能瓶颈的方法。但数据表经过水平切分后,对于一些涉及多个分表的数据查询语句,针对单个数据库的查询结果以及汇总各个分表查询结果的方式都不再准确。

举例来说,假如某张表T分为三个分表,分别记为表T0、表T1及表T2,表T0、表T1及表T2的值分别如下:

T0:1,4,7,10;

T1:2,5,8,11;

T2:3,6,9,12。

执行如下语句select id from T order by id limit 2,3,如果从未经过水平切分的完整数据表来看,数据库应该返回3、4、5三条记录。但如果在表T0、表T1及表T2中直接执行上述语句,得到的结果如下:

T0:7,10;

T1:8,11;

T2:9,12。

此时三个分表返回总共6条记录,与预期的结果3、4、5三条记录完全不同。

当前常用的解决方案为直接采用内存分页算法进行数据查询,具体过程举例如下:

对于表T0、T1及T2的执行语句:select id from T order by id limit 0,5,得到的结果如下:

T0:1,4,7,10;

T1:2,5,8,11;

T2:3,6,9,12。

对上述获取到的12条数据按照从小到大的顺序进行排序,得到1,2,3,4,5,6,7,8,9,10,11,12,获取偏移量为2、查询条数为3的数据,得到结果3,4,5。

该方案对于偏移量巨大的数据查询语句,在数据库性能损耗、执行时间以及内存消耗等方面都存在巨大缺陷。

发明内容

为解决现有技术的不足,本发明实施例提供了一种数据查询方法,该方法包括以下步骤:

S1判断本次数据查询语句的总偏移量是否小于或等于预设的分页阈值,若是,则根据内存分页算法,直接执行本次数据查询语句;

S2若否,则将所述总偏移量除以分表数得到的商作为各个分表的偏移量,其中,所述商为所述总偏移量除以分表数得到的结果向下取得到的值;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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