掌桥专利:专业的专利平台
掌桥专利
首页

数据查询方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 18:34:06


数据查询方法、装置、电子设备及计算机可读存储介质

技术领域

本发明涉及数据查询领域,具体而言,涉及一种数据查询方法、装置、电子设备及计算机可读存储介质。

背景技术

在数据库查询中,对于海量数据的查询,为了避免一次查询的数据量过大,往往需要利用分页查询的手段,将数据分页查询,降低数据系统的查询负担。

在现有技术中,通常会利用偏移量的方式,构建每一页应查询的数据范围。然而,随着分页数量的增大,系统基于偏移量所需执行的扫描动作也会增大。从而当面对较大级别数据量时,现有分页查询方式的效率会显著降低。

发明内容

本发明的目的在于提供一种数据查询方法、装置、电子设备及计算机可读存储介质,其能够提高分页查询的效率。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供一种数据查询方法,包括:

获得查询总记录数与单页数据范围;所述查询总记录数用于指示目标数据的数据总范围;所述单页数据范围表征每页获得的数据范围;

根据所述查询总记录数与所述单页数据范围,获得分页总数值及初始查询位置;所述分页总数值表征全部所述单页数据范围的个数;所述初始查询位置表征第一个所述单页数据范围对应的查询位置;

根据所述单页数据范围、所述初始查询位置以及所述分页总数值,逐个获得每个所述单页数据范围对应的目标子数据,所述目标子数据属于所述目标数据。

在可选的实施方式中,所述获得查询总记录数与单页数据范围的步骤,包括:

获得用户输入的SQL查询语句和所述单页数据范围;

根据所述SQL查询语句确定所述查询总记录数。

在可选的实施方式中,所述根据所述查询总记录数与所述单页数据范围,获得分页总数值及初始查询位置的步骤,包括:

根据所述查询总记录数与所述单页数据范围,确定所述分页总数值;

根据用户输入的SQL查询语句,确定第一个所述单页数据范围对应的起始分片键与最大分片键;所述最大分片键表征目标数据的结束查询位置,所述初始查询位置对应第一个所述单页数据范围对应的起始分片键与最大分片键。

在可选的实施方式中,所述根据所述查询总记录数、所述初始查询位置以及所述分页总数值,逐个获得每个所述单页数据范围对应的目标子数据的步骤,包括:

根据所述起始分片键与所述单页数据范围,获得对应的目标子数据及结束分片键;所述结束分片键表征所述目标子数据的结束查询位置;

判断所述目标子数据对应的分页数是否大于所述分页总数值;

若否,则将所述结束分片键作为下一个所述单页数据范围对应的起始分片键;

返回执行根据所述起始分片键与所述单页数据范围,获得对应的目标子数据及结束分片键的步骤,直至所述目标子数据对应的分页数大于所述分页总数值。

在可选的实施方式中,所述根据所述起始分片键与所述单页数据范围,获得对应的目标子数据及结束分片键的步骤包括:

利用所述起始分片键与所述最大分片键构造所述单页数据范围对应的查询范围条件;

根据所述单页数据范围、所述SQL查询语句和所述查询范围条件,生成所述单页数据范围对应的分页查询语句;

利用所述分页查询语句,获得所述单页数据范围对应的目标子数据;

根据所述分页查询语句,生成所述目标子数据对应的最大值查询语句;

利用所述最大值查询语句,获得所述目标子数据对应的结束分片键。

第二方面,本发明实施例提供一种数据查询装置,包括:

获取模块,用于获得查询总记录数与单页数据范围;所述查询总记录数用于指示目标数据的数据总范围;所述单页数据范围表征每页获得的数据范围;

所述获取模块,还用于根据所述查询总记录数与所述单页数据范围,获得分页总数值及初始查询位置;所述分页总数值表征全部所述单页数据范围的个数;所述初始查询位置表征第一个所述单页数据范围对应的查询位置;

查询模块,用于根据所述单页数据范围、所述初始查询位置以及所述分页总数值,逐个获得每个所述单页数据范围对应的目标子数据,所述目标子数据属于所述目标数据。

在可选的实施方式中,所述获取模块具体用于:获得用户输入的SQL查询语句和所述单页数据范围;根据所述SQL查询语句确定所述查询总记录数。

在可选的实施方式中,所述获取模块具体用于:

根据所述查询总记录数与所述单页数据范围,确定所述分页总数值;

根据用户输入的SQL查询语句,确定第一个所述单页数据范围对应的起始分片键与最大分片键;所述最大分片键表征目标数据的结束查询位置,所述初始查询位置对应第一个所述单页数据范围对应的起始分片键与最大分片键。

第三方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时所述处理器执行所述机器可读指令以实现上述实施例中的数据查询方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中的数据查询方法。

相对于现有技术,本发明实施例所提供的一种数据查询方法、装置、电子设备及计算机可读存储介质,通过先获得查询总记录数与单页数据范围;然后基于查询总记录数与单页数据范围,去获得分页总数值及初始查询位置;分页总数值表征全部单页数据范围的个数;初始查询位置表征第一个单页数据范围对应的查询位置;最后根据单页数据范围、初始查询位置以及分页总数值,逐个获得每个单页数据范围对应的目标子数据。相较于现有技术,本发明实施例中首先获得本次查询的查询总记录数以及每个分页的单页数据范围,进而确定分页对应的查询位置,从而规避偏移量对于查询效率的影响。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本发明实施例提供的一种数据查询方法的流程示意图之一。

图2为本发明实施例提供的一种数据查询方法的流程示意图之二。

图3为本发明实施例提供的一种数据查询方法的流程示意图之三。

图4为本发明实施例提供的一种数据查询方法的流程示意图之四。

图5为本发明实施例提供的一种数据查询装置的结构示意图。

图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。

在现有技术中,通常会利用偏移量的方式,构建每一页应查询的数据范围。以MySQL(My Structured Query Language,结构化查询语言)为例,在现有技术中,往往使用limit语句来进行数据分页查询。limit语句的具语法格式为:

limit a,b;//表示跳过前a条数据,取b条数据;即a表示偏移量。

具体的,下面以SQL查询语句中不同大小的偏移量,对查询时间进行对比(//后为不同a对用的查询时间):

select*from test_devinfo order by id limit 2000,20;//0.027s

select*from test_devinfo order by id limit 20000,20;//0.035s

select*from test_devinfo order by id limit 200000,20;//0.136s

select*from test_devinfo order by id limit 2000000,20;//1.484s

select*from test_devinfo order by name limit 2000000,20;//7.356

显然,当a为2000000时,意味着系统要扫描2000020条数据,并丢弃前2000000条数据,只保留后面的20条数据。如此,偏移量的增加会使得读取动作的大量增加,导致查询效率降低,也会导致I/O资源的浪费。

针对上述利用偏移量实现数据分页查询,从导致的问题。现有技术也提供了一些优化方案:

一、创建索引。利用对查询条件的限定,减少非必要的查询项。这种方式虽然相对减少了查询的数据量。但随着数据量增加,分页查询的查询效率依然是降低的。

二、引入分库分表组件。即将数据拆分为不同数据表,将数据进行切分、路由等。但是其会导致数据扩容难度增大、无法支持一些复杂的sql查询、分布式事务性能差以及增大维护成本。

因此,为了解决上述技术问题,本方案通过在每次用户查询数据时,首先获得本次查询的查询总记录数以及每个分页的单页数据范围,来确定每个分页对应的查询位置,从而规避上述偏移量对于查询效率的影响。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参见图1,图1为本发明实施例通过的一种数据查询方法的流程示意图。该方法包括以下步骤:

S100、获得查询总记录数与单页数据范围。

在本实施例中,查询总记录数用于指示目标数据的数据总范围。目标数据即为待查询的所有数据。单页数据范围表征每页获得的数据范围,即每个分页需容纳的数据量。

S200、根据查询总记录数与单页数据范围,获得分页总数值及初始查询位置。

其中,分页总数值表征全部单页数据范围的个数,每个单页数据范围可以对应一个分页。初始查询位置表征第一个单页数据范围对应的查询位置,即初始查询位置可以表征第一个分页对应的查询位置。

S300、根据单页数据范围、初始查询位置以及分页总数值,逐个获得每个单页数据范围对应的目标子数据。

每个单页数据范围对应的目标子数据,即可以表示每个分页对应的目标子数据,目标子数据属于目标数据。

本发明实施例提供的数据查询方法,通过先获得查询总记录数与单页数据范围;然后基于查询总记录数与单页数据范围,去获得分页总数值及初始查询位置;分页总数值表征全部单页数据范围的个数;初始查询位置表征第一个单页数据范围对应的查询位置;最后根据单页数据范围、初始查询位置以及分页总数值,逐个获得每个单页数据范围对应的目标子数据。相较于现有技术,本发明实施例中首先获得本次查询的查询总记录数以及每个分页的单页数据范围,进而确定分页对应的查询位置,从而规避了偏移量对于查询效率的影响。

在可选的实施例中,本方案中,可以利用用户输入的SQL查询语句来确定查询总记录数和目标数据的查询位置。在图1的基础上,请参见图2,上述步骤S100的子步骤可以包括:

S110、获得用户输入的SQL查询语句和单页数据范围。

可以理解,用户会输入SQL查询语句作为查询条件,以及输入单页数据范围作为查询结果的分页条件。

S120、根据SQL查询语句确定查询总记录数。

在本实施例中,用户输入的SQL查询语句中指定了分片键字段(JSID),该分片键字段下的字段值为不重复的数字,在数据库中,分片键字段下的字段值可以是连续的也可以说不连续的。分片键字段下的一个分片键(即一个字段值)可以对应一条待查找数据,即一个分片键是对应的待查找数据的唯一标识。

因而,SQL查询语句对应的结果是目标数据(即全部的待查找数据),对SQL查询语句再嵌套一个查询语句来查找所有的待查找数据中分片键的数量,分片键的数量即为本次分页查询的查询总记录数。

可能的示例中,根据SQL查询语句生成确定查询总记录数的SQL语句可以是:

select count(JSID)from(dataSQL)alias

其中,dataSQL即为用户输入的SQL查询语句。

例如,当dataSQL为:select name,JSID from test_user where name like'test%'and${condition}时,生成的确定查询总记录数的SQL语句为:select count(JSID)from(select name,jsid from test_user where name like'test%'and1=1)alias。该举例仅为一种示例,在此不作限定。

继续参见图2,上述步骤S200的子步骤可以包括:

S210、根据查询总记录数与单页数据范围,确定分页总数值。

在本实施例中,在得到了查询总记录数后,可以根据用户输入的单页数据范围计算出分页总数值,即分页的数量。

一种可能的示例中,当用户输入的单页数据范围能被查询总记录数整除时,查询总记录数除以单页数据范围的商即为分页总数值。例如,查询总记录数为10000,单页数据范围为1000(即每个分页需要包括1000条待查找数据),此时求得的分页总数值为10。

在另一种可能的示例中,当用户输入的单页数据范围不能被查询总记录数整除时,查询总记录数除以单页数据范围的商向上取整得到分页总数值。例如,查询总记录数为100000,单页数据范围为1024(即每个分页需要包括1000条待查找数据),100000/1024=97.65625,向上取整为98,即此时,求得的分页总数值为98,这种情况下,最后一个分页会出现数据不饱和的情况(只包括672条待查找数据)。

需要说明的是,上述举例仅为示例,具体情况以实际应用为准,在此不作限定。

S220、根据用户输入的SQL查询语句,确定第一个单页数据范围对应的起始分片键与最大分片键。

在本实施例中,起始分片键可以表示目标数据的开始查询位置,也可以表示第一个分页(即第一个单页数据范围)的开始查询位置。最大分片键可以表征目标数据的结束查询位置。

初始查询位置可以对应第一个单页数据范围对应的起始分片键与最大分片键,同时,初始查询位置也可以表示目标数据的查询位置。相应地,起始分片键与最大分片键可以构成第一个分页(即第一个单页数据范围)的查询范围。

可选的,可以对用户输入的SQL查询语句再嵌套一个查询语句来查找所有的待查找数据中分片键的最小值和最大值,得到上述起始分片键与最大分片键。可能的示例中,根据SQL查询语句生成确定起始分片键与最大分片键的SQL语句可以是:

select max(JSID),min(JSID)from(dataSQL)alias

其中,dataSQL即为用户输入的SQL查询语句,min(JSID)和max(JSID)分别可以表示起始分片键与最大分片键。

可选的,也可以生成以下查询语句,执行后得到返回的查询总记录数、起始分片键与最大分片键:

select count(JSID),max(JSID),min(JSID)from(dataSQL)alias

需要说明的是,在实际应用中,查询总记录数、起始分片键与最大分片键三者可以同时确定,也可以分开确定,在此不作限制。

在可选的实施例中,在完整的分页查询过程中,分页查询会基于多个分页进行查询。为了避免使用偏移量,在一种可能的实现方式,可以通过获得每个分页进行数据查询时的查询范围(即每个单页数据范围对应的起始分片键与结束分片键),来实现每个分页的数据查询,所查即所得。具体的,在图2的基础上,参见图3,上述步骤S300的子步骤可以包括:

S310、根据起始分片键与单页数据范围,获得对应的目标子数据及结束分片键。

在本实施例中,针对某个分页(也即某个单页数据范围),根据单页数据范围以及该分页对应的查询范围,可以确定该分页对应的目标子数据以及该分页对应的结束分片键。结束分片键可以表征目标子数据的结束查询位置。

S320、判断目标子数据对应的分页数是否大于分页总数值。

在每次分页完成后,需要判断当前分页的数值是否大于分页总数值,若是,则代表分页查询完成;若否,则代表分页查询还未结束,需要进入下一个分页的查询流程。

因此,当目标子数据对应的分页数大于分页总数值时,直接进入下述步骤S340。当目标子数据对应的分页数不大于分页总数值时,执行下述步骤S330后返回执行上述步骤S310,直到目标子数据对应的分页数大于分页总数值时进入步骤S340。

S330、将结束分片键作为下一个单页数据范围对应的起始分片键。

可以理解,在某个分页完成后(非最后一个分页),该次分页查询得到的目标子数据中的结束分片键,可以作为下一次分页的起始分片键。也就是,上一个分页的结束分片键和目标数据的最大分片键可以构成下一个分页的查询范围。

S340、获得每个分页对应的目标子数据。

若目标子数据对应的分页数已经大于分页总数值,那么则说明分页查询完成,得到了每个分页对应的目标子数据。

在可选的实施例中,在得到每个分页对应的起始分片键后,可以由起始分片键和最大分片键构成该分页的查询范围,并基于此进行分页查询。

具体的,在图3的基础上,请参见图4,上述步骤S310的子步骤可以包括:

S311、利用起始分片键与最大分片键构造单页数据范围对应的查询范围条件。

对于某个分页(某个单页数据范围),假设其对应的起始分片键与最大分片键为x、y,该分页对应的查询范围条件是:JSID>x and JSID<=y。

S312、根据单页数据范围、SQL查询语句和查询范围条件,生成单页数据范围对应的分页查询语句。

用户输入的SQL查询语句可以包括一个条件占位符(${condition})。

对于某个分页,可以先用该分页对应的查询范围条件替换掉SQL查询语句中的条件占位符。然后可以利用嵌套查询的方式,生成的该分页对应的分页查询语句:

select*from((dataSQL)alias)order by JSID limit z

此处的dataSQL中条件占位符已替换为分页的查询范围条件。z表示单页数据范围。

S313、利用分页查询语句,获得单页数据范围对应的目标子数据。

执行该分页查询语句,即可得到返回的当前分页对应的目标子数据。若当前分页不是最后一个分页时,当前分页对应的目标子数据可以包括z条待查询数据。若当前分页为最后一个分页时,当前分页对应的目标子数据包括的待查询数据可能等于或者少于z条。

S314、根据分页查询语句,生成目标子数据对应的最大值查询语句。

S315、利用最大值查询语句,获得目标子数据对应的结束分片键。

在当前分页的查询完成,得到当前分页对应的目标子数据之后,可以基于分页查询语句进行嵌套查询,生成该目标子数据对应的最大值查询语句:

select max(JSID)from(pageSQL)alias

其中,pageSQL代表上述的分页查询语句,max(JSID)即表示当前分页对应的目标子数据中对应的最大分片键,该最大分片键即为当前分页对应的目标子数据中的结束分片键。

下面以一个具体示例,介绍上述步骤S300中对每个分页的目标子数据进行查询的过程。

假设用户输入的SQL查询语句为:select name,JSID from test_user wherename like'test%'and${condition},其含义为:从test_user这个表中找出name字段中为字段值为“test”开头对应的name和JSID。

假设test_user这个表中JSID是连续的,用户输入的单页数据范围为100,根据用户输入的SQL查询语句确定的查询总记录数为1000,起始分片键与最大分片键分别为5、1005,分页总数值为10。

那么,在第一次分页时,其查找范围条件为JSID>=5and JSID<=1005,对应的分页查询语句为:select*from((select name,JSID from test_user where name like'test%'and JSID>=5and JSID<=1005)alias)order by JSID limit 100,对应可得到第一次分页对应的目标子数据(100条待查询数据)。

该第一个分页的目标子数据对应的最大值查询语句为:select max(JSID)from(pageSQL)alias,此时pageSQL为第一个分页的分页查询语句。可以得到第一个分页的目标子数据对应的结束分片键为105。105可作为下一个分页对应的起始分片键。

所以,在第二次分页时,其对应的查找范围条件为JSID>105and JSID<=1005,对应的分页查询语句为:select*from((select name,JSID from test_user where namelike'test%'and JSID>105and JSID<=1005alias)order by JSID limit 100,对应可得到第二次分页对应的目标子数据(100条待查询数据)。

该第二个分页的目标子数据对应的最大值查询语句为:select max(JSID)from(pageSQL)alias,此时pageSQL为第二个分页的分页查询语句。可以得到第二个分页的目标子数据对应的结束分片键为205。205可作为下一个分页对应的起始分片键。

依次类推,最终得到10个分页各自对应的子数据,完成本轮分页查询。

需要说明的是,上述举例,仅为示例,在此不作限定。且上述方法实施例中各个步骤的执行顺序不以附图所示为限制,各步骤的执行顺序以实际应用情况为准。

与现有技术相比,本发明实施例具有以下有益效果:

本方案涉及的分页方式中,每个分页存在各自对应的查询范围,且在分页查询的过程中,每个分页对应的查询范围是逐渐缩小的,从而能够大幅提升查询效率。很好地规避了limit分页语句中随着偏移值越来越大,查找速度翻页越来越慢的问题。利用本方案可以在亿级数据场景下进行分页查询,同时保证查询效率。

为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面分别给出一种数据查询装置的实现方式。

请参见图5,图5示出了本发明实施例提供的数据查询装置200的结构示意图。该装置包括:获取模块210、查询模块220。

获取模块210,用于获得查询总记录数与单页数据范围;所述查询总记录数用于指示目标数据的数据总范围;所述单页数据范围表征每页获得的数据范围。

获取模块210,还用于根据所述查询总记录数与所述单页数据范围,获得分页总数值及初始查询位置;所述分页总数值表征全部所述单页数据范围的个数;所述初始查询位置表征第一个所述单页数据范围对应的查询位置。

查询模块220,用于根据所述单页数据范围、所述初始查询位置以及所述分页总数值,逐个获得每个所述单页数据范围对应的目标子数据,所述目标子数据属于所述目标数据。

在本实施例中,获取模块210可以用于执行上述步骤S100、S200及其子步骤,查询模块220可以用于执行上述步骤S300及其子步骤。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据查询装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

请参见图6,图6为本发明实施例提供的一种电子设备的结构示意图。该电子设备300包括处理器310、存储器320和总线330,处理器310通过总线330与存储器320连接。

存储器320可用于存储软件程序,例如,图5所示的数据查询装置。其中,存储器320可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read OnlyMemory,ROM),闪存存储器(Flash),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器310可以是一种集成电路芯片,具有信号处理能力。该处理器310可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器320存储有处理器310可执行的机器可读指令。处理器310执行机器可读指令时,实现上述实施例揭示的数据查询方法。

可以理解,图6所示的结构仅为示意,电子设备300还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时实现上述实施例揭示的数据查询方法。该计算机可读存储介质可以是但不限于:U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、FLASH磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本发明实施例提供了一种数据查询方法、装置、电子设备及计算机可读存储介质,通过先获得查询总记录数与单页数据范围;然后基于查询总记录数与单页数据范围,去获得分页总数值及初始查询位置;分页总数值表征全部单页数据范围的个数;初始查询位置表征第一个单页数据范围对应的查询位置;最后根据单页数据范围、初始查询位置以及分页总数值,逐个获得每个单页数据范围对应的目标子数据。本发明实施例中首先获得本次查询的查询总记录数以及每个分页的单页数据范围,进而确定每个分页各自对应的查询范围,且在分页查询的过程中,每个分页对应的查询范围是逐渐缩小的,从而能够大幅提升查询效率,规避了偏移量对于查询效率的影响。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 数据查询方法、装置、电子设备及计算机可读存储介质
  • 一种元数据查询方法、装置、设备及计算机可读存储介质
  • 数据访问方法、装置、电子设备及计算机可读存储介质
  • 数据分析方法、装置、电子设备及计算机可读存储介质
  • 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
  • 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
  • 数据查询方法、装置、计算机可读存储介质及电子设备
技术分类

06120115611614