【技术实现步骤摘要】
基于数据库分片的数据查询方法、装置和服务器
[0001]本专利技术实施例涉及数据库
,具体涉及一种基于数据库分片的数据查询方法、装置和服务器。
技术介绍
[0002]随着数据库存储的数据越来越多,数据库单表响应查询的时延越来越大。目前数据库分片技术应用的越来越广泛,把原来的单表,水平拆分成结构相同的多个分片,原来入库单表的数据,变成数据入库到多个分片中。这样,就降低了单个数据表的数据量,减轻了单表的负荷。
[0003]但是,本申请专利技术人在研究中发现,目前的数据库即使在数据分片之后,同样存在查询工作量比较大,查询速度较慢的问题。
技术实现思路
[0004]鉴于上述问题,本专利技术实施例提供了一种基于数据库分片的数据查询方法、装置、设备和系统,用于解决现有技术中存在的问题。
[0005]根据本专利技术实施例的一个方面,提供了一种基于数据库分片的数据查询方法,包括:
[0006]获取数据查询请求,所述数据查询请求用于查询第一页码中的数据,所述第一页码是将数据库中的所有数据进行排序后 ...
【技术保护点】
【技术特征摘要】
1.一种基于数据库分片的数据查询方法,其特征在于,包括:获取数据查询请求,所述数据查询请求用于查询第一页码中的数据,所述第一页码是将数据库中的所有数据进行排序后的页码;根据所述数据库的分片大小、分页大小和数据总量,获取第一中间数据集合;所述第一中间数据集合中包括有所述第一页码中的数据;根据所述第一中间数据集合中数据在所有数据中的排序,以及所述第一页码中的数据的范围,从所述第一中间数据集合中确定所述第一页码中的数据的最大值和最小值;从所述数据库的各分片中获取取值位于预设范围内的数据,所述预设范围为大于且等于所述最小值,以及,小于且等于所述最大值;确定所述位于预设范围内的数据为与所述数据查询请求对应的查询数据。2.如权利要求1所述的方法,其特征在于,所述根据数据库的分片大小、分页大小和数据总量,获取第一中间数据集合,包括:根据所述数据库的分片大小、分页大小和数据总量,获取所述第一页码中的数据在各数据库分片中的起始下标和终止下标;根据所述起始下标和终止下标,分别从排序后的各数据库分片中获取对应的数据值;各所述数据值组成第一中间数据集合。3.如权利要求2所述的方法,其特征在于,所述根据所述数据库的分片大小、分页大小和数据总量获取第一页码中的数据在各数据库分片中的起始下标和终止下标,包括:根据第一页码和分页大小确定在所述数据库中所述第一页码对应的起始下标和终止下标;根据所述第一页码对应的起始下标、分页大小和数据总量,确定所述第一页码在各数据库分片中的起始下标;根据所述第一页码对应的终止下标、分页大小和数据总量,确定所述第一页码在各数据库分片中的终止下标。4.如权利要求3所述的方法,其特征在于,所述根据所述第一中间数据集合中数据在所有数据中的排序,以及所述第一页码中的数据的范围,从所述第一中间数据集合中确定所述第一页码中的数据的最大值和最小值,包括:对所述第一中间数据集合进行排序;在所述排序后的第一中间数据集合中进行折半查找,获取中间值;从各所述数据库分片中获取不大于所述中间值的数据的数量;根据所述数量确定所述中间值在所述数据库中对应的下标值;若所述下标值在所述第一页码的数据的范围内,则所述中间值放入第二中间数据集合,直至完成对所述排序后的第一中间数据集合的折半查找;将所述第二中间数据集合中的最小值作为第一页码中的数据的最小值,将所述第二中间数据集合中的最大值作为第一页码中的数据的最大值。5.如权利要求4所述的方法,其特征在于,所述从各所述数据库分片中获取不大于所述中...
【专利技术属性】
技术研发人员:李翰,
申请(专利权)人:中国移动通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。