一种数据查询方法技术

技术编号:39643686 阅读:7 留言:0更新日期:2023-12-09 11:11
本申请公开了一种数据查询方法

【技术实现步骤摘要】
一种数据查询方法、装置、设备及存储介质


[0001]本专利技术涉及数据查询领域,更具体的说,涉及一种数据查询方法

装置

设备及存储介质


技术介绍

[0002]目前,数据库表每年产生的业务订单笔数已达千万级,随着业务发展,积累的数据量将变得越来越多

而数据库在表数据达到千万级后都存在性能下降的问题,数据量越大影响越大,在对该数据库进行数据查询时的效率也会降低

[0003]为了满足客户对查询速度方面的性能需求,需要提升查询结果的响应速度,以尽快查询到用户所需的数据

目前在对数据进行查询时,对全量数据进行全表查询,查询消耗时间较长,查询效率较低


技术实现思路

[0004]有鉴于此,本专利技术公开一种数据查询方法

装置

设备及存储介质,以解决查询效率较低的问题

[0005]为解决上述技术问题,本专利技术采用了如下技术方案:
[0006]一种数据查询方法,数据库包括预先基于预设拆分规则拆分得到的多个分表,所述数据查询方法包括:
[0007]获取待查询的目标查询字段以及所述目标查询字段对应的目标字段内容;
[0008]获取所述目标查询字段对应的查询字段布隆过滤器数据和二阶查询布隆过滤器数据;
[0009]基于所述查询字段布隆过滤器数据,确定出包括所述目标字段内容

且数据记录条数为指定条数的分表,并将确定出的分表以及数据记录条数小于指定条数的分表作为目标分表;
[0010]根据所述二阶查询布隆过滤器数据,确定所述目标分表的查询方式;
[0011]按照所述查询方式,对所述目标分表进行数据查询操作,得到所述目标查询字段对应的目标字段内容的查询结果

[0012]可选地,对数据库中的数据进行拆分的过程包括:
[0013]获取指定条数;
[0014]按照数据库中的数据的生成顺序,依次将指定条数的数据拆分得到一个分表,以将所述数据库中的数据拆分为数据记录条数为指定条数的至少一个分表以及数据记录条数小于所述指定条数的分表

[0015]可选地,获取所述目标查询字段对应的查询字段布隆过滤器数据和二阶查询布隆过滤器数据,包括:
[0016]生成各个查询字段对应的查询字段布隆过滤器数据,并从各个查询字段对应的查询字段布隆过滤器数据中,筛选出所述目标查询字段对应的查询字段布隆过滤器数据;
[0017]生成各个查询字段对应的二阶查询布隆过滤器数据,并从各个查询字段对应的二阶查询布隆过滤器数据中,筛选出所述目标查询字段对应的二阶查询布隆过滤器数据

[0018]可选地,生成各个查询字段对应的查询字段布隆过滤器数据,包括:
[0019]获取各个查询字段;
[0020]针对每一所述查询字段,获取数据记录条数为指定条数的分表对应的比特位组以及数量为指定数量的哈希函数;所述比特位组中的每一位数据均为第一预设数值;
[0021]按照数据记录的顺序,获取数据记录条数为所述指定条数的分表中的每一条数据记录,并作为目标数据记录;
[0022]利用数量为所述指定数量的哈希函数,计算所述目标数据记录中,所述查询字段对应的字段内容的哈希值;
[0023]调整所述比特位组中,所述哈希值对应的位置处的数值,得到查询字段布隆过滤器数据

[0024]可选地,调整所述比特位组中,所述哈希值对应的位置处的数值,得到查询字段布隆过滤器数据,包括:
[0025]判断所述比特位组中,所述哈希值对应的位置处的数值是否均为第二预设数值;
[0026]若否,则将所述比特位组中,所述哈希值对应的位置处的数值均调整为所述第二预设数值,得到查询字段布隆过滤器数据

[0027]可选地,生成各个查询字段对应的二阶查询布隆过滤器数据,包括:
[0028]针对每一所述查询字段,若判断出所述比特位组中,所述哈希值对应的位置处的数值均为所述第二预设数值,则以哈希函数加盐方式,计算一个新的哈希值,并替换利用数量为所述指定数量的哈希函数计算得到的哈希值中的最后一个哈希值,得到更新后的哈希值;
[0029]将所述比特位组中,所述更新后的哈希值对应的位置处的数值均调整为所述第二预设数值,得到二阶查询布隆过滤器数据

[0030]可选地,基于所述查询字段布隆过滤器数据,确定出包括所述目标字段内容

且数据记录条数为指定条数的分表,包括:
[0031]利用数量为所述指定数量的哈希函数,计算所述目标字段内容的哈希值,并从所述数据记录条数为指定条数的分表对应的查询字段布隆过滤器数据中,筛选出所述目标字段内容的哈希值对应的位置处的数值均为所述第二预设数值的分表

[0032]可选地,根据所述二阶查询布隆过滤器数据,确定所述目标分表的查询方式,包括:
[0033]以哈希函数加盐方式,计算所述目标字段内容的一个新的哈希值,并替换利用数量为所述指定数量的哈希函数计算得到的所述目标字段内容的哈希值中的最后一个哈希值,得到更新后的目标字段内容的哈希值;
[0034]若所述目标分表对应的二阶查询布隆过滤器数据中,所述更新后的目标字段内容的哈希值对应的位置处的数值均为所述第二预设数值,则确定所述目标分表的查询方式为全表查询;
[0035]若所述目标分表对应的二阶查询布隆过滤器数据中,所述更新后的目标字段内容的哈希值对应的位置处的数值不均为所述第二预设数值,则确定所述目标分表的查询方式
为部分查询

[0036]一种数据查询装置,数据库包括预先基于预设拆分规则拆分得到的多个分表,所述数据查询装置包括:
[0037]数据获取模块,用于获取待查询的目标查询字段以及所述目标查询字段对应的目标字段内容;
[0038]过滤器获取模块,用于获取所述目标查询字段对应的查询字段布隆过滤器数据和二阶查询布隆过滤器数据;
[0039]分表确定模块,用于基于所述查询字段布隆过滤器数据,确定出包括所述目标字段内容

且数据记录条数为指定条数的分表,并将确定出的分表以及数据记录条数小于指定条数的分表作为目标分表;
[0040]查询方式确定模块,用于根据所述二阶查询布隆过滤器数据,确定所述目标分表的查询方式;
[0041]数据查询模块,用于按照所述查询方式,对所述目标分表进行数据查询操作,得到所述目标查询字段对应的目标字段内容的查询结果

[0042]一种电子设备,所述电子设备包括存储器和处理器;
[0043]所述存储器用于存储至少一个指令;
[0044]所述处理器用于执行所述至少一个指令以实现上述的数据查询方法

[0045]一种计算机可读存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据查询方法,其特征在于,数据库包括预先基于预设拆分规则拆分得到的多个分表,所述数据查询方法包括:获取待查询的目标查询字段以及所述目标查询字段对应的目标字段内容;获取所述目标查询字段对应的查询字段布隆过滤器数据和二阶查询布隆过滤器数据;基于所述查询字段布隆过滤器数据,确定出包括所述目标字段内容

且数据记录条数为指定条数的分表,并将确定出的分表以及数据记录条数小于所述指定条数的分表作为目标分表;根据所述二阶查询布隆过滤器数据,确定所述目标分表的查询方式;按照所述查询方式,对所述目标分表进行数据查询操作,得到所述目标查询字段对应的目标字段内容的查询结果
。2.
根据权利要求1所述的数据查询方法,其特征在于,对数据库中的数据进行拆分的过程包括:获取指定条数;按照数据库中的数据的生成顺序,依次将所述指定条数的数据拆分得到一个分表,以将所述数据库中的数据拆分为数据记录条数为所述指定条数的至少一个分表以及数据记录条数小于所述指定条数的分表
。3.
根据权利要求1所述的数据查询方法,其特征在于,获取所述目标查询字段对应的查询字段布隆过滤器数据和二阶查询布隆过滤器数据,包括:生成各个查询字段对应的查询字段布隆过滤器数据,并从各个查询字段对应的查询字段布隆过滤器数据中,筛选出所述目标查询字段对应的查询字段布隆过滤器数据;生成各个查询字段对应的二阶查询布隆过滤器数据,并从各个查询字段对应的二阶查询布隆过滤器数据中,筛选出所述目标查询字段对应的二阶查询布隆过滤器数据
。4.
根据权利要求3所述的数据查询方法,其特征在于,生成各个查询字段对应的查询字段布隆过滤器数据,包括:获取各个查询字段;针对每一所述查询字段,获取数据记录条数为指定条数的分表对应的比特位组以及数量为指定数量的哈希函数;所述比特位组中的每一位数据均为第一预设数值;按照数据记录的顺序,获取数据记录条数为所述指定条数的分表中的每一条数据记录,并作为目标数据记录;利用数量为所述指定数量的哈希函数,计算所述目标数据记录中,所述查询字段对应的字段内容的哈希值;调整所述比特位组中,所述哈希值对应的位置处的数值,得到查询字段布隆过滤器数据
。5.
根据权利要求4所述的数据查询方法,其特征在于,调整所述比特位组中,所述哈希值对应的位置处的数值,得到查询字段布隆过滤器数据,包括:判断所述比特位组中,所述哈希值对应的位置处的数值是否均为第二预设数值;若否,则将所述比特位组中,所述哈希值对应的位置处的数值均调整为所述第二预设数值,得到查询字段布隆过滤器数据
。6.
根据权利要求5所述的数据查询方法,其特征在于,生成各个查询字段对应的二阶查
询布隆过滤器数据,包括:针对每一所述查询字段,若判断出所述比特位组中,所述哈希值对应的位置处的数...

【专利技术属性】
技术研发人员:陈春霖
申请(专利权)人:中银金融科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1