CN111125157B - 查询数据的处理方法、装置、存储介质及处理器 - Google Patents
查询数据的处理方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN111125157B CN111125157B CN201811291676.5A CN201811291676A CN111125157B CN 111125157 B CN111125157 B CN 111125157B CN 201811291676 A CN201811291676 A CN 201811291676A CN 111125157 B CN111125157 B CN 111125157B
- Authority
- CN
- China
- Prior art keywords
- query
- sub
- data
- result set
- intermediate result
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种查询数据的处理方法、装置、存储介质及处理器。该方法包括:将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息。通过本申请,解决了相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题。
Description
技术领域
本申请涉及数据查询技术领域,具体而言,涉及一种查询数据的处理方法、装置、存储介质及处理器。
背景技术
在数据查询和分析时,常常需要对查询到的数据进行分页,并展示用户想要查看的页面的数据,为了满足这一需求,相关技术中是先根据查询条件筛选查询出满足当前查询条件的所有数据,作为中间结果集,然后基于该中间结果集在一个子查询中先查询结果集A中的数据的总行数,再查询用户所要查看的页面的明细数据。假设在一个目标数据集中查询出满足条件的所有数据耗时为5s,计算数据的总行数耗时为2s,计算用户所要查看的页面的明细数据耗时为1s,采用该查询和分页方法在单机数据库中进行数据查询和分页查询效率较高,例如MS SqlServer数据库,MySQL数据库中,耗时为8s,具体地,5s+1s+2s=8s。
但是相关技术中的方法在不同的数据库中查询相同的目标数据集总耗时不同,具体地,在分布式数据库Greenplum中,采用该方法进行数据查询和分页所需的时间为13s具体地,5+1+5+2=13s,也即,虽然计算数据的总行数和计算分页明细的步骤都基于前面的查询结果,但却查询满足条件的数据的步骤却重新进行了一次,需要多花一倍时间。由于在进行数据查询和分页的过程中,主要耗时产生在查询满足条件的数据的步骤,在该步骤多花一倍时间,大大降低了数据查询和分页显示的效率。
针对相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种查询数据的处理方法、装置、存储介质及处理器,以解决相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种查询数据的处理方法。该方法包括:将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息。
进一步地,对每条子查询条件进行查询包括:在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;在该中间结果集中查询子查询条件的全部查询项对应的结果。
进一步地,将查询条件拆分成至少两条的子查询条件包括:将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集合中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码。
进一步地,对第一子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;采用行返回函数查询该中间结果集中的数据所占的总行数。
进一步地,对第二子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;对该中间结果集中的数据进行排序,获取每行数据的行序列;根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
进一步地,目标数据库为分布式数据库。
进一步地,分布式数据库为Greenplum数据库。
为了实现上述目的,根据本申请的另一方面,提供了一种查询数据的处理装置。该装置包括:拆分单元,用于将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;查询单元,用于对至少两条的子查询条件进行并行查询;获取单元,用于获取查询到的数据信息。
为了实现上述目的,根据本申请的另一方面,提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述任意一种查询数据的处理方法。
为了实现上述目的,根据本申请的另一方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一种查询数据的处理方法。
通过本申请,采用以下步骤:将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息,解决了相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题。通过并发执行计算数据总行数的步骤和获取目标页码对应的页面数据,进而达到了提高数据查询及分页展示数据的速度的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的查询数据的处理方法的流程图;以及
图2是根据本申请实施例提供的查询数据的处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种查询数据的处理方法。
图1是根据本申请实施例的查询数据的处理方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,将查询条件拆分成至少两条的子查询条件,其中,中间结果集每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集。
需要说明的是,在相关技术中,依照查询条件筛选出数据库中满足预设规则的数据后,再对满足预设规则的数据依次执行多个查询项时,存在对筛选的步骤执行多次的情况,增加了查询时间,本实施例将查询条件进行拆分,用以提高查询效率。可选地,在本申请实施例提供的查询数据的处理方法中,将查询条件拆分成至少两条的子查询条件包括:将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码。
需要说明的是,在数据库中筛选数据并对筛选出的数据进行分页显示时,存在对筛选数据的步骤重复执行2次的情况,因而,在本实施例中,将筛选数据并对数据进行分页显示的查询条件分为,计算数据总行数的第一子查询条件,以及计算分页明细数据的第二子查询条件,分页明细数据用以确定输入页码后,分页后该页码对应的页面中的数据。
可选地,在本申请实施例提供的查询数据的处理方法中,目标数据库为分布式数据库。
需要说明的是,在单机数据中,利用相关技术中的方法,查询得到查询中间结果集后,依次计算数据的总行数分页明细数据可以达到较快的速度,但在分布式数据库中,查询并分页的效率较低,本实施例可以提高分布式数据库中的分页查询效率。
可选地,在本申请实施例提供的查询数据的处理方法中,分布式数据库为Greenplum数据库。
需要说明的是,在Greenplum数据库中采用拆分查询条件进行查询,提高查询效率的效果得到了验证,但本申请并不限定在Greenplum数据库的数据查询中,本申请方法还可以用在其他分布式数据库以及非分布式数据库中。
步骤S102,对至少两条的子查询条件进行并行查询。
可选地,在本申请实施例提供的查询数据的处理方法中,对每条子查询条件进行查询包括:在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;在该中间结果集中查询子查询条件的全部查询项对应的结果。
例如,在Greenplum数据库中对待查询的商品信息表中的数据进行查询,查询价格区间在100元到200元之间的商品并进行分页显示时。执行筛选价格区间在100元到200元之间的商品,多条商品数据按行排列构成中间结果集,并统计中间结果集中的商品信息所占的总行数,具体地,从前至后遍历得到中间结果集中的数据总行数为100行。同时,并行执行筛选价格区间在100元到200元之间的商品,并获取目标页码中的页面对应的商品信息数据,例如,设定分页行数为10行,目标页码为1,则目标页码对应的页面数据为中间结果集中第1行到第10行的商品数据。
步骤S103,获取查询到的数据信息。
例如,目标页码为1,在当前页面中显示分页后第一页中的数据。
本申请实施例提供的查询数据的处理方法,通过将查询条件拆分成至少两条的子查询条件,其中,中间结果集每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息,解决了相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题。通过并发执行计算数据总行数的步骤和获取目标页码对应的页面数据,进而达到了提高数据查询及分页展示数据的速度的效果。
查询的方法可以用结构化查询语言进行构建,可选地,在本申请实施例提供的查询数据的处理方法中,对第一子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;采用行返回函数查询该中间结果集中的数据所占的总行数。
具体地,在Greenplum数据库对数据进行筛选,获取到的中间结果集为A,构造对第一子查询条件进行查询的结构化查询语言如下:
SELECT COUNT(1)AS TotalCount
FROM A
查询的方法可以用结构化查询语言进行构建,可选地,在本申请实施例提供的查询数据的处理方法中,对第二子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;对该中间结果集中的数据进行排序,获取每行数据的行序列;根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
例如,在Greenplum数据库对数据进行筛选,获取到的中间结果集为A,若分页行数为10行,目标页码为1,构造获对第二子查询条件进行查询的结构化查询语言如下:
SELECT*FROM A
ORDER BY 1
LIMIT 10 OFFSET 0
经验证,若在一个目标数据集中查询出满足条件的所有数据耗时为5s,计算数据的总行数耗时为2s,获取目标页码对应的页面数据耗时为1s,在Greenplum数据库中,采用相关技术中的方法进行数据查询和分页所需的时间为13s,具体地,5+1+5+2=13s,采用本实施例中的方法进行数据查询和分页所需的时间为Max((5+1),(5+2)),即为7s,由此可知,本实施例的方法在Greenplum中该查询并分页的方法的性能优于相关技术中的方法。
本申请实施例还提供了一种查询数据的处理装置,需要说明的是,本申请实施例的查询数据的处理装置可以用于执行本申请实施例所提供的用于查询数据的处理方法。以下对本申请实施例提供的查询数据的处理装置进行介绍。
图2是根据本申请实施例的查询数据的处理装置的示意图。如图2所示,该装置包括:拆分单元10、查询单元20和获取单元30。
具体地,拆分单元10,用于将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;
查询单元20,用于对至少两条的子查询条件进行并行查询;
获取单元30,用于获取查询到的数据信息。
可选地,在本申请实施例提供的查询数据的处理装置中,查询单元20包括:第一查询模块,用于在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;第二查询模块,用于在该中间结果集中查询子查询条件的全部查询项对应的结果。
可选地,在本申请实施例提供的查询数据的处理装置中,拆分单元10包括:拆分模块,用于将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集合中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码。
可选地,在本申请实施例提供的查询数据的处理装置中,第一查询模块包括:第一筛选子模块,用于在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;返回子模块,用于采用行返回函数查询该中间结果集中的数据所占的总行数。
可选地,在本申请实施例提供的查询数据的处理装置中,第二查询模块包括:第二筛选子模块,用于在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;排序子模块,用于对该中间结果集中的数据进行排序,获取每行数据的行序列;计算子模块,用于根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;确定子模块,用于根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
可选地,在本申请实施例提供的查询数据的处理装置中,目标数据库为分布式数据库。
可选地,在本申请实施例提供的查询数据的处理装置中,分布式数据库为Greenplum数据库。
本申请实施例提供的查询数据的处理装置,通过拆分单元10将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;查询单元20对至少两条的子查询条件进行并行查询;获取单元30获取查询到的数据信息,解决了相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题,通过并发执行计算数据总行数的步骤和获取目标页码对应的页面数据,进而达到了提高数据查询及分页展示数据的速度的效果。
所述查询数据的处理装置包括处理器和存储器,上述拆分单元10、查询单元20和获取单元30等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中在分布式数据库中查询数据并分页展示数据时速度较慢的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述查询数据的处理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述查询数据的处理方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息。
对每条子查询条件进行查询包括:在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;在该中间结果集中查询子查询条件的全部查询项对应的结果。
将查询条件拆分成至少两条的子查询条件包括:将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集合中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码。
对第一子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;采用行返回函数查询该中间结果集中的数据所占的总行数。
对第二子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;对该中间结果集中的数据进行排序,获取每行数据的行序列;根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
目标数据库为分布式数据库。
分布式数据库为Greenplum数据库。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;对至少两条的子查询条件进行并行查询;获取查询到的数据信息。
对每条子查询条件进行查询包括:在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;在该中间结果集中查询子查询条件的全部查询项对应的结果。
将查询条件拆分成至少两条的子查询条件包括:将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集合中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码。
对第一子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;采用行返回函数查询该中间结果集中的数据所占的总行数。
对第二子查询条件进行查询包括:在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;对该中间结果集中的数据进行排序,获取每行数据的行序列;根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
目标数据库为分布式数据库。
分布式数据库为Greenplum数据库。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种查询数据的处理方法,其特征在于,包括:
将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;
对所述至少两条的子查询条件进行并行查询;
获取查询到的数据信息;
其中,将所述查询条件拆分成至少两条的子查询条件包括:
将所述查询条件拆分为第一子查询条件和第二子查询条件,其中,所述第一子查询条件中的查询项用于查询所述第一子查询条件触发生成的中间结果集合中的数据所占的总行数,所述第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,所述目标页码是基于所述总行数对所述第二子查询条件触发生成的中间结果集进行分页得到的页码;
其中,对每条子查询条件进行查询包括:
在目标数据库中筛选出满足所述子查询条件的预设条件的数据,将满足所述预设条件的数据构成中间结果集;
在该中间结果集中查询所述子查询条件的全部查询项对应的结果;
对所述第二子查询条件进行查询包括:
在所述目标数据库中筛选出满足所述预设条件的数据,满足所述预设条件的数据构成中间结果集;
对该中间结果集中的数据进行排序,获取每行数据的行序列;
根据分页行数和所述目标页码计算所述目标页码对应的页面数据的起始行序列,其中,所述分页行数是基于所述总行数对该中间结果集进行分页时每一页包含的行数;
根据所述起始行序列和所述分页行数在该中间结果集中确定所述目标页码对应的页面数据。
2.根据权利要求1所述的方法,其特征在于,对所述第一子查询条件进行查询包括:
在所述目标数据库中筛选出满足所述预设条件的数据,满足所述预设条件的数据构成中间结果集;
采用行返回函数查询该中间结果集中的数据所占的总行数。
3.根据权利要求1所述的方法,其特征在于,所述目标数据库为分布式数据库。
4.根据权利要求3所述的方法,其特征在于,所述分布式数据库为Greenplum数据库。
5.一种查询数据的处理装置,其特征在于,包括:
拆分单元,用于将查询条件拆分成至少两条的子查询条件,其中,每条子查询条件包括至少一个查询项,且每条子查询条件都会触发查询并生成一个中间结果集;
查询单元,用于对所述至少两条的子查询条件进行并行查询;
获取单元,用于获取查询到的数据信息;
其中,拆分单元包括:拆分模块,用于将查询条件拆分为第一子查询条件和第二子查询条件,其中,第一子查询条件中的查询项用于查询第一子查询条件触发生成的中间结果集合中的数据所占的总行数,第二子查询条件中的查询项用于查询目标页码对应的页面数据,其中,目标页码是基于总行数对第二子查询条件触发生成的中间结果集进行分页得到的页码;
其中,查询单元包括:第一查询模块,用于在目标数据库中筛选出满足子查询条件的预设条件的数据,将满足预设条件的数据构成中间结果集;第二查询模块,用于在该中间结果集中查询子查询条件的全部查询项对应的结果;
第二查询模块包括:第二筛选子模块,用于在目标数据库中筛选出满足预设条件的数据,满足预设条件的数据构成中间结果集;排序子模块,用于对该中间结果集中的数据进行排序,获取每行数据的行序列;计算子模块,用于根据分页行数和目标页码计算目标页码对应的页面数据的起始行序列,其中,分页行数是基于总行数对该中间结果集进行分页时每一页包含的行数;确定子模块,用于根据起始行序列和分页行数在该中间结果集中确定目标页码对应的页面数据。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的查询数据的处理方法。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的查询数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291676.5A CN111125157B (zh) | 2018-10-31 | 2018-10-31 | 查询数据的处理方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291676.5A CN111125157B (zh) | 2018-10-31 | 2018-10-31 | 查询数据的处理方法、装置、存储介质及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125157A CN111125157A (zh) | 2020-05-08 |
CN111125157B true CN111125157B (zh) | 2023-07-04 |
Family
ID=70494511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811291676.5A Active CN111125157B (zh) | 2018-10-31 | 2018-10-31 | 查询数据的处理方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125157B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881181B (zh) * | 2020-07-22 | 2024-03-01 | 中国工商银行股份有限公司 | 一种基于分布式数据库的数据统计方法、装置及设备 |
CN112559890B (zh) * | 2020-12-25 | 2024-02-09 | 深圳市富途网络科技有限公司 | 一种显示方法、服务器、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
CN104361049A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种快速展现数据库数据的方法和系统 |
US9110947B1 (en) * | 2011-12-30 | 2015-08-18 | Teradata Us, Inc. | Column-oriented task execution in a row-partitioned database system |
CN105975617A (zh) * | 2016-05-20 | 2016-09-28 | 北京京东尚科信息技术有限公司 | 一种多分区表查询处理的方法和装置 |
CN107016045A (zh) * | 2017-02-17 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种分页数据查询的方法及装置 |
-
2018
- 2018-10-31 CN CN201811291676.5A patent/CN111125157B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
US9110947B1 (en) * | 2011-12-30 | 2015-08-18 | Teradata Us, Inc. | Column-oriented task execution in a row-partitioned database system |
CN104361049A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 一种快速展现数据库数据的方法和系统 |
CN105975617A (zh) * | 2016-05-20 | 2016-09-28 | 北京京东尚科信息技术有限公司 | 一种多分区表查询处理的方法和装置 |
CN107016045A (zh) * | 2017-02-17 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种分页数据查询的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111125157A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528787B (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
EP2778970A1 (en) | Facet group ranking for search results | |
WO2016003427A1 (en) | Automatic generation of sub-queries | |
EP3640813B1 (en) | Cluster-based random walk method and apparatus | |
CN111260388B (zh) | 一种商品生命周期的确定、展示方法和装置 | |
CN110188100A (zh) | 数据处理方法、装置及计算机存储介质 | |
CN111125157B (zh) | 查询数据的处理方法、装置、存储介质及处理器 | |
CN106648839B (zh) | 数据处理的方法和装置 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
CN106610989B (zh) | 搜索关键词聚类方法及装置 | |
CN106886510B (zh) | 一种图表显示的方法及装置 | |
CN112506992B (zh) | Kafka数据的模糊查询方法、装置、电子设备和存储介质 | |
CN108241620B (zh) | 查询脚本的生成方法及装置 | |
CN106649374B (zh) | 导航标签排序的方法及装置 | |
CN110083602B (zh) | 一种基于hive表的数据存储及数据处理的方法及装置 | |
CN110069522A (zh) | 数据查询方法和装置 | |
CN108536759B (zh) | 一种样本回放数据存取方法及装置 | |
CN106886546B (zh) | 一种数据网站的构建方法和设备 | |
CN114154064B (zh) | 一种商品关键词优化方法及装置 | |
CN113792237B (zh) | 卡片式布局的优化方法、装置、存储介质及处理器 | |
CN110019198B (zh) | 数据查询方法和装置 | |
CN110020227B (zh) | 一种数据排序方法和装置 | |
CN110019296B (zh) | 数据库查询脚本的生成方法、装置、存储介质及处理器 | |
CN117033526B (zh) | 数据存储方法、数据查询方法、装置、设备及存储介质 | |
CN113282624B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |