CN112445818A - 用于数据库***的数据查询方法、装置、电子设备及介质 - Google Patents
用于数据库***的数据查询方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN112445818A CN112445818A CN201910816686.4A CN201910816686A CN112445818A CN 112445818 A CN112445818 A CN 112445818A CN 201910816686 A CN201910816686 A CN 201910816686A CN 112445818 A CN112445818 A CN 112445818A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- output
- limit number
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013500 data storage Methods 0.000 claims description 29
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24566—Recursive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种用于数据库***的数据查询方法、装置、电子设备及介质,所述用于数据库***的数据查询方法包括:根据接收的数据查询指令,确定数据查询要素数据段;根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。该技术方案能够实现分次递归查询,从而减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种用于数据库***的数据查询方法、装置、电子设备及介质。
背景技术
随着大数据技术的发展,数据存储、查询和读取的压力越来越大。为了提高数据查询和读取的工作效率,存储数据的数据库***通常设置有单次读取数据量限制,但对于查询结果数据量较大的情况,只能先执行查询再根据数据量读取限制分次读取查询结果,这种处理方式虽然能够读取所需要的查询数据,但内存和缓存占用量较大,浪费存储空间。
发明内容
本公开实施例提供一种用于数据库***的数据查询方法、装置、电子设备及介质。
第一方面,本公开实施例中提供了一种用于数据库***的数据查询方法。
具体的,所述用于数据库***的数据查询方法,包括:
根据接收的数据查询指令,确定数据查询要素数据段;
根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
结合第一方面,本公开在第一方面的第一种实现方式中,所述数据查询要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
结合第一方面和第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,所述当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量,包括:
当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本发明实施例在第一方面的第三种实现方式中,还包括:
当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本发明实施例在第一方面的第四种实现方式中,当所述目标查询数据存储来源不同时,还包括:
根据预设组合要素对于所述目标查询数据进行组合。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本发明实施例在第一方面的第五种实现方式中,所述预设组合要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
第二方面,本公开实施例中提供了一种用于数据库***的数据查询装置。
具体的,所述用于数据库***的数据查询装置,包括:
确定模块,被配置为根据接收的数据查询指令,确定数据查询要素数据段;
首次查询模块,被配置为根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
再次查询模块,被配置为当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分装置进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
结合第二方面,本公开在第二方面的第一种实现方式中,所述数据查询要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
结合第二方面和第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述再次查询模块包括:
第一拆分子模块,被配置为当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
查询子模块,被配置为根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
第二拆分子模块,被配置为当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本发明实施例在第二方面的第三种实现方式中,还包括:
输出模块,被配置为当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本发明实施例在第二方面的第四种实现方式中,当所述目标查询数据存储来源不同时,还包括:
组合模块,被配置为根据预设组合要素对于所述目标查询数据进行组合。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本发明实施例在第二方面的第五种实现方式中,所述预设组合要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述第一方面中数据查询方法的方法步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储数据查询装置所用的计算机指令,其包含用于执行上述第一方面中数据查询方法为数据查询装置所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
上述技术方案在通过数据查询要素数据段进行首次数据查询得到的待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量再将查询数据输出。该技术方案能够实现分次递归查询,从而减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的数据查询方法的流程图;
图2示出根据图1所示实施方式的数据查询方法的步骤S103的流程图;
图3示出根据本公开了另一实施方式的数据查询方法的流程图;
图4示出根据本公开了再一实施方式的数据查询方法的流程图;
图5示出根据本公开一实施方式的数据查询装置的结构框图;
图6示出根据图5所示实施方式的数据查询装置的再次查询模块503的结构框图;
图7示出根据本公开另一实施方式的数据查询装置的结构框图;
图8示出根据本公开再一实施方式的数据查询装置的结构框图;
图9示出根据本公开一实施方式的电子设备的结构框图;
图10是适于用来实现根据本公开一实施方式的数据查询方法的计算机***的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
本公开实施例提供的技术方案在通过数据查询要素数据段进行首次数据查询得到的待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量再将查询数据输出。该技术方案能够实现分次递归查询,从而减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间。
图1示出根据本公开一实施方式的用于数据库***的数据查询方法的流程图,如图1所示,所述数据查询方法包括以下步骤S101-S103:
在步骤S101中,根据接收的数据查询指令,确定数据查询要素数据段;
在步骤S102中,根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
在步骤S103中,当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
上文提及,随着大数据技术的发展,数据存储、查询和读取的压力越来越大。为了提高数据查询和读取的工作效率,存储数据的数据库***通常设置有单次读取数据量限制,但对于查询结果数据量较大的情况,只能先执行查询再根据数据量读取限制分次读取查询结果,这种处理方式虽然能够读取所需要的查询数据,但内存和缓存占用量较大,浪费存储空间。
考虑到上述缺陷,在该实施方式中,提出一种数据查询方法,该方法在通过数据查询要素数据段进行首次数据查询得到的待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量再将查询数据输出。该技术方案能够实现分次递归查询,从而减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间。
在本实施例的一个可选实现方式中,所述数据查询要素指的是从存储有数据的数据库中执行数据查询的依据要素,所述数据查询要素数据段指的是执行数据查询的依据要素所在的数据范围。其中,所述数据查询要素可包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。确定了数据查询要素、对应的数据查询要素数据段,即可执行相应的数据查询,比如,若所述数据查询要素为数据发生时间,所述数据查询要素数据段为数据发生时间从2019年1月1日12:00至2019年1月2日12:00,那么要执行的查询操作就是从数据库中查询发生时间为从2019年1月1日12:00至2019年1月2日12:00的数据。再比如,若所述数据查询要素为数据存储序号,所述数据查询要素数据段为数据存储序号从100至800,那么要执行的查询操作就是从数据库中查询存储序号为从100至800的数据。
上文提及,为了提高数据查询和读取的工作效率,存储数据的数据库***通常设置有单次读取数据量限制,考虑到通常数据库***对于查询数据未做数量上的限制,而且数据读取操作与数据查询操作通常是对应执行的,即某一数据读取操作所读取的数据为最后一次数据查询得到的数据,因此,为了避免出现单次查询数据量较大而导致查询数据无法一次读取的情况,在本实施例的一个可选实现方式中,首先根据确定的数据查询要素数据段进行首次数据查询,即预查询,以预先确定最终需要输出的查询数据的数量有多少,能否一次输出,即判断最终需要输出的查询数据的数量是否高于输出限制数量,若是,则使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量为止,若否,则直接输出数据查询结果。
在本实施例的一个可选实现方式中,如图2所示,所述步骤S103,即当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量的步骤,包括以下步骤S201-S203:
在步骤S201中,当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
在步骤S202中,根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
在步骤S203中,当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
为了减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间,在该实现方式中,当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。具体地,首先将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;然后根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;然后比较所述待输出查询数据的数量与所述输出限制数量,当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量,输出查询数据。
在本实施例的一个可选实现方式中,在将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段时,可按照均分的方式将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段。
以将所述数据查询要素数据段均匀拆分为两个数据查询要素子数据段为例,若所述数据查询要素设置为数据发生时间,所述数据查询要素数据段设置为数据发生时间从2019年1月1日12:00至2019年1月2日12:00,***预设输出限制数量为200条,那么根据该数据查询要素数据段进行首次数据查询,即从数据库中查询发生时间为从2019年1月1日12:00至2019年1月2日12:00的数据,确定首次查询结果数据的数量为500条,超过可***预设输出限制数量200条。此时,可将2019年1月1日12:00至2019年1月2日12:00的数据查询要素数据段拆分为从2019年1月1日12:00至2019年1月1日24:00的数据查询要素子数据段1和从2019年1月1日24:00至2019年1月2日12:00的数据查询要素子数据段2,然后再根据数据查询要素子数据段1和数据查询要素子数据段2进行再次数据查询,若对应于数据查询要素子数据段1的再次查询结果数据的数量为200条,对应于数据查询要素子数据段2的再次查询结果数据的数量为300条,高于所述输出限制数量200条,则先输出对应于数据查询要素子数据段1的200条的再次查询结果数据,然后将数据查询要素子数据段2再次均匀拆分为数据查询要素子数据段3和数据查询要素子数据段4进行数据查询,直至对应查询结果数据的数量低于输出限制数量为止。若对应于数据查询要素子数据段1和数据查询要素子数据段2的再次查询结果数据的数量均为250条,高于所述输出限制数量200条,则对所述数据查询要素子数据段1和数据查询要素子数据段2均进行再次拆分,直至对应查询结果数据的数量低于输出限制数量为止。进而实现基于递归拆分方法的数据查询。
在本实施例的一个可选实现方式中,当所述待输出查询数据的数量低于所述输出限制数量时,所述方法还包括将所述待输出查询数据作为目标查询数据输出的步骤,即如图3所示,所述数据查询方法包括以下步骤S301-S304:
在步骤S301中,根据接收的数据查询指令,确定数据查询要素数据段;
在步骤S302中,根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
在步骤S303中,当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量;
在步骤S304中,当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
为了进一步减少内存和缓存占用量,节省存储空间,在该实现方式中,当确定所述待输出查询数据的数量低于所述输出限制数量时,可将所述待输出查询数据作为目标查询数据输出。
其中,所述待输出查询数据可对应不同的数据查询要素数据段或者不同的数据查询要素子数据段,也就是说,在数据查询过程中,只要数据查询要素数据段或者数据查询要素子数据段对应的查询结果数据低于输出限制数量,即可输出查询结果数据,而不限制数据查询要素子数据段是否为同级数据段,即数据查询要素子数据段是经过一次拆分还是多次拆分得到的子数据段。后续在执行完全部查询操作,得到由对应不同数据查询要素数据段或不同数据查询要素子数据段的查询结果数据组成的全部查询结果数据后,可根据数据查询要素对于查询结果数据进行组合,得到对应最初设置的数据查询要素数据段的目标查询结果数据。
其中,所述目标查询数据可来源于同一存储数据库,也可来源于不同存储数据库,在本实施例的一个可选实现方式中,当所述目标查询数据来源于不同存储数据库时,所述方法还包括:根据预设组合要素对于所述目标查询数据进行组合的步骤,即如图4所示,所述数据查询方法包括以下步骤S401-S405:
在步骤S401中,根据接收的数据查询指令,确定数据查询要素数据段;
在步骤S402中,根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
在步骤S403中,当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量;
在步骤S404中,当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出;
在步骤S405中,当所述目标查询数据存储来源不同时,根据预设组合要素对于所述目标查询数据进行组合。
考虑到不同存储数据库的存储格式可能不同,为了增加查询结果数据的可用性,提高其标准化程度,在该实现方式中,当所述目标查询数据存储来源不同时,还需要根据预设组合要素对于所述目标查询数据进行组合,得到完整的、按照统一组合要素排列的查询结果数据。其中,所述预设组合要素可与所述数据查询要素类似,包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图5示出根据本公开一实施方式的数据查询装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述数据查询装置包括:
确定模块501,被配置为根据接收的数据查询指令,确定数据查询要素数据段;
首次查询模块502,被配置为根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
再次查询模块503,被配置为当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分装置进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
上文提及,随着大数据技术的发展,数据存储、查询和读取的压力越来越大。为了提高数据查询和读取的工作效率,存储数据的数据库***通常设置有单次读取数据量限制,但对于查询结果数据量较大的情况,只能先执行查询再根据数据量读取限制分次读取查询结果,这种处理方式虽然能够读取所需要的查询数据,但内存和缓存占用量较大,浪费存储空间。
考虑到上述缺陷,在该实施方式中,提出一种数据查询装置,该装置在通过数据查询要素数据段进行首次数据查询得到的待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量再将查询数据输出。该技术方案能够实现分次递归查询,从而减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间。
在本实施例的一个可选实现方式中,所述数据查询要素指的是从存储有数据的数据库中执行数据查询的依据要素,所述数据查询要素数据段指的是执行数据查询的依据要素所在的数据范围。其中,所述数据查询要素可包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。确定了数据查询要素、对应的数据查询要素数据段,即可执行相应的数据查询,比如,若所述数据查询要素为数据发生时间,所述数据查询要素数据段为数据发生时间从2019年1月1日12:00至2019年1月2日12:00,那么要执行的查询操作就是从数据库中查询发生时间为从2019年1月1日12:00至2019年1月2日12:00的数据。再比如,若所述数据查询要素为数据存储序号,所述数据查询要素数据段为数据存储序号从100至800,那么要执行的查询操作就是从数据库中查询存储序号为从100至800的数据。
上文提及,为了提高数据查询和读取的工作效率,存储数据的数据库***通常设置有单次读取数据量限制,考虑到通常数据库***对于查询数据未做数量上的限制,而且数据读取操作与数据查询操作通常是对应执行的,即某一数据读取操作所读取的数据为最后一次数据查询得到的数据,因此,为了避免出现单次查询数据量较大而导致查询数据无法一次读取的情况,在本实施例的一个可选实现方式中,首先根据确定的数据查询要素数据段进行首次数据查询,即预查询,以预先确定最终需要输出的查询数据的数量有多少,能否一次输出,即判断最终需要输出的查询数据的数量是否高于输出限制数量,若是,则使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量为止,若否,则直接输出数据查询结果。
在本实施例的一个可选实现方式中,如图6所示,所述再次查询模块503包括:
第一拆分子模块601,被配置为当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
查询子模块602,被配置为根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
第二拆分子模块603,被配置为当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
为了减少每次查询的数据量,进而在保证有效获取全部数据查询结果的前提下,减少内存和缓存占用量,节省存储空间,在该实现方式中,当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。具体地,第一拆分子模块601首先将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;查询子模块602然后根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;第二拆分子模块603然后比较所述待输出查询数据的数量与所述输出限制数量,当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量,输出查询数据。
在本实施例的一个可选实现方式中,在将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段时,可按照均分的方式将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段。
以将所述数据查询要素数据段均匀拆分为两个数据查询要素子数据段为例,若所述数据查询要素设置为数据发生时间,所述数据查询要素数据段设置为数据发生时间从2019年1月1日12:00至2019年1月2日12:00,***预设输出限制数量为200条,那么根据该数据查询要素数据段进行首次数据查询,即从数据库中查询发生时间为从2019年1月1日12:00至2019年1月2日12:00的数据,确定首次查询结果数据的数量为500条,超过可***预设输出限制数量200条。此时,可将2019年1月1日12:00至2019年1月2日12:00的数据查询要素数据段拆分为从2019年1月1日12:00至2019年1月1日24:00的数据查询要素子数据段1和从2019年1月1日24:00至2019年1月2日12:00的数据查询要素子数据段2,然后再根据数据查询要素子数据段1和数据查询要素子数据段2进行再次数据查询,若对应于数据查询要素子数据段1的再次查询结果数据的数量为200条,对应于数据查询要素子数据段2的再次查询结果数据的数量为300条,高于所述输出限制数量200条,则先输出对应于数据查询要素子数据段1的200条的再次查询结果数据,然后将数据查询要素子数据段2再次均匀拆分为数据查询要素子数据段3和数据查询要素子数据段4进行数据查询,直至对应查询结果数据的数量低于输出限制数量为止。若对应于数据查询要素子数据段1和数据查询要素子数据段2的再次查询结果数据的数量均为250条,高于所述输出限制数量200条,则对所述数据查询要素子数据段1和数据查询要素子数据段2均进行再次拆分,直至对应查询结果数据的数量低于输出限制数量为止。进而实现基于递归拆分方法的数据查询。
在本实施例的一个可选实现方式中,当所述待输出查询数据的数量低于所述输出限制数量时,所述装置还包括将所述待输出查询数据作为目标查询数据输出的部分,即如图7所示,所述数据查询装置包括:
确定模块701,被配置为根据接收的数据查询指令,确定数据查询要素数据段;
首次查询模块702,被配置为根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
再次查询模块703,被配置为当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分装置进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量;
输出模块704,被配置为当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
为了进一步减少内存和缓存占用量,节省存储空间,在该实现方式中,当确定所述待输出查询数据的数量低于所述输出限制数量时,输出模块704可将所述待输出查询数据作为目标查询数据输出。
其中,所述待输出查询数据可对应不同的数据查询要素数据段或者不同的数据查询要素子数据段,也就是说,在数据查询过程中,只要数据查询要素数据段或者数据查询要素子数据段对应的查询结果数据低于输出限制数量,即可输出查询结果数据,而不限制数据查询要素子数据段是否为同级数据段,即数据查询要素子数据段是经过一次拆分还是多次拆分得到的子数据段。后续在执行完全部查询操作,得到由对应不同数据查询要素数据段或不同数据查询要素子数据段的查询结果数据组成的全部查询结果数据后,可根据数据查询要素对于查询结果数据进行组合,得到对应最初设置的数据查询要素数据段的目标查询结果数据。
其中,所述目标查询数据可来源于同一存储数据库,也可来源于不同存储数据库,在本实施例的一个可选实现方式中,当所述目标查询数据来源于不同存储数据库时,所述装置还包括:根据预设组合要素对于所述目标查询数据进行组合的部分,即如图8所示,所述数据查询装置包括:
确定模块801,被配置为根据接收的数据查询指令,确定数据查询要素数据段;
首次查询模块802,被配置为根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
再次查询模块803,被配置为当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分装置进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量;
输出模块804,被配置为当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出;
组合模块805,被配置为根据预设组合要素对于所述目标查询数据进行组合。
考虑到不同存储数据库的存储格式可能不同,为了增加查询结果数据的可用性,提高其标准化程度,在该实现方式中,当所述目标查询数据存储来源不同时,还需要设置组合模块805根据预设组合要素对于所述目标查询数据进行组合,得到完整的、按照统一组合要素排列的查询结果数据。其中,所述预设组合要素可与所述数据查询要素类似,包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
本公开还公开了一种电子设备,图9示出根据本公开一实施方式的电子设备的结构框图,如图9所示,所述电子设备900包括存储器901和处理器902;其中,
所述存储器901用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器902执行以实现上述方法步骤。
图10适于用来实现根据本公开实施方式的数据查询方法的计算机***的结构示意图。
如图10所示,计算机***1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行上述实施方式中的各种处理。在RAM1003中,还存储有***1000操作所需的各种程序和数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述数据查询方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种用于数据库***的数据查询方法,其特征在于,包括:
根据接收的数据查询指令,确定数据查询要素数据段;
根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
2.根据权利要求1所述的方法,其特征在于,所述数据查询要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
3.根据权利要求1或2所述的方法,其特征在于,所述当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分方法进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量,包括:
当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
4.根据权利要求1-3任一所述的方法,其特征在于,还包括:
当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
5.一种用于数据库***的数据查询装置,其特征在于,包括:
确定模块,被配置为根据接收的数据查询指令,确定数据查询要素数据段;
首次查询模块,被配置为根据所述数据查询要素数据段进行首次数据查询,得到待输出查询数据的数量;
再次查询模块,被配置为当所述待输出查询数据的数量高于输出限制数量时,使用递归拆分装置进行再次数据查询,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
6.根据权利要求5所述的装置,其特征在于,所述数据查询要素包括以下要素中的一种或多种:数据发生时间、数据存储时间、数据存储字段、数据存储序号。
7.根据权利要求5或6所述的装置,其特征在于,所述再次查询模块包括:
第一拆分子模块,被配置为当所述待输出查询数据的数量高于输出限制数量时,将所述数据查询要素数据段拆分为两个或多个数据查询要素子数据段;
查询子模块,被配置为根据所述数据查询要素子数据段进行数据查询,得到待输出查询数据的数量;
第二拆分子模块,被配置为当所述待输出查询数据的数量仍然高于所述输出限制数量时,对于所述数据查询要素子数据段进行再拆分,直至查询得到的待输出查询数据的数量低于所述输出限制数量。
8.根据权利要求5-7任一所述的装置,其特征在于,还包括:
输出模块,被配置为当所述待输出查询数据的数量低于所述输出限制数量时,将所述待输出查询数据作为目标查询数据输出。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-4任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-4任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816686.4A CN112445818A (zh) | 2019-08-30 | 2019-08-30 | 用于数据库***的数据查询方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816686.4A CN112445818A (zh) | 2019-08-30 | 2019-08-30 | 用于数据库***的数据查询方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112445818A true CN112445818A (zh) | 2021-03-05 |
Family
ID=74735243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910816686.4A Pending CN112445818A (zh) | 2019-08-30 | 2019-08-30 | 用于数据库***的数据查询方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445818A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177716A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Data retrieval from a database utilizing efficient eager loading and customized queries |
CN105468651A (zh) * | 2014-09-12 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种关系数据库数据查询方法及*** |
CN109597810A (zh) * | 2018-11-21 | 2019-04-09 | 金色熊猫有限公司 | 一种任务切分方法、装置、介质及电子设备 |
CN109656950A (zh) * | 2018-12-12 | 2019-04-19 | 上海达梦数据库有限公司 | 递归查询方法、装置、服务器及存储介质 |
CN110096489A (zh) * | 2019-04-30 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、***、装置及电子设备 |
-
2019
- 2019-08-30 CN CN201910816686.4A patent/CN112445818A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177716A1 (en) * | 2007-01-19 | 2008-07-24 | Microsoft Corporation | Data retrieval from a database utilizing efficient eager loading and customized queries |
CN105468651A (zh) * | 2014-09-12 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种关系数据库数据查询方法及*** |
CN109597810A (zh) * | 2018-11-21 | 2019-04-09 | 金色熊猫有限公司 | 一种任务切分方法、装置、介质及电子设备 |
CN109656950A (zh) * | 2018-12-12 | 2019-04-19 | 上海达梦数据库有限公司 | 递归查询方法、装置、服务器及存储介质 |
CN110096489A (zh) * | 2019-04-30 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、***、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090628A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN111177231A (zh) | 报表生成方法和报表生成装置 | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
US20190050402A1 (en) | Deferred update of database hashcode in blockchain | |
US10963298B2 (en) | Method, device and computer-readable for managing virtual machines | |
CN109597810B (zh) | 一种任务切分方法、装置、介质及电子设备 | |
US8898126B1 (en) | Method and apparatus for providing concurrent data insertion and updating | |
CN115168398A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN110502506B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN109165723B (zh) | 用于处理数据的方法和装置 | |
CN110928665B (zh) | 数据处理方法、装置、存储介质及终端 | |
CN109597819B (zh) | 用于更新数据库的方法和装置 | |
CN112445818A (zh) | 用于数据库***的数据查询方法、装置、电子设备及介质 | |
CN114817845B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111190910A (zh) | 额度资源的处理方法、装置、电子设备及可读存储介质 | |
CN115543317A (zh) | 前端页面开发方法及装置 | |
CN111666278A (zh) | 数据存储、检索方法、电子设备及存储介质 | |
CN112015535B (zh) | 任务处理方法、装置、电子设备、存储介质 | |
CN109460397B (zh) | 数据产出控制方法及装置、存储介质和电子设备 | |
CN114282968A (zh) | 一种流水号的获取方法、装置、服务器和存储介质 | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
CN111930720A (zh) | 数据倾斜的处理方法、***、电子设备和介质 | |
CN113590703A (zh) | Es数据导入方法、装置、电子设备及可读存储介质 | |
CN109308299B (zh) | 用于搜索信息的方法和装置 | |
CN108984426B (zh) | 用于处理数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210305 |