CN108804459B - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN108804459B CN108804459B CN201710302039.2A CN201710302039A CN108804459B CN 108804459 B CN108804459 B CN 108804459B CN 201710302039 A CN201710302039 A CN 201710302039A CN 108804459 B CN108804459 B CN 108804459B
- Authority
- CN
- China
- Prior art keywords
- dimension
- statistical information
- condition
- sub
- target
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询方法及装置,属于数据处理领域。该方法包括:当接收到结构化查询语言SQL查询语句时,确定SQL查询语句所要查询的目标数据表;根据SQL查询语句中包括的维度和度量,从目标数据表的至少一个预统计信息中确定目标预统计信息;根据SQL查询语句和目标预统计信息获取聚合查询结果。由于该至少一个预统计信息是对目标数据表中的数据预先进行聚合运算得到的,因此,当根据该SQL查询语句确定目标预统计信息之后,可以从该目标预统计信息中直接获取部分或者全部的聚合查询结果,省去了从目标数据表中获取数据并对大量数据进行实时运算的过程,缩短了查询响应时间,提高了查询效率。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种数据查询方法及装置。
背景技术
随着数据量变得越来越大,大量的数据可以通过数据表存储到多个设备中,该多个设备通过网络连接,从而形成一个完整的、全局逻辑上集中、物理上分散的大型分布式数据库。之后,可以通过SQL(Structured Query Language,结构化查询语言)对该分布式数据库中的数据进行查询。
其中,当通过SQL语句对该数据库进行数据查询时,不仅可以查询数据表中的一条信息,还可以查询多条信息并将多条信息进行汇总。通过SQL语句从该数据库中查询多条信息并将多条信息进行汇总的方式称为聚合查询。在实现聚合查询时,SQL语句中可以包含一个聚合函数,通过该聚合函数可以对查询的多条信息进行聚合运算,以生成查询结果。其中,聚合函数可以包括MAX(maximum,最大值)函数、AVG(average,平均值)函数等。
为了便于后续描述,将用于数据查询的SQL语句称为SQL查询语句。SQL查询语句的一般格式为:SELECT<目标列表达式>FROM<表名或视图名>WHERE<条件表达式>。其中,SELECT<目标列表达式>称为SELECT子句,FROM<表名或视图名>称为FROM子句,WHERE<条件表达式>称为WHERE子句。当该SQL查询语句进行数据查询时,可以先根据WHERE子句的条件表达式,从FROM子句指定的表名或视图名对应的数据表或视图中找出满足条件的元组,再按照SELECT子句中的目标列表达式,选出元组中与目标列相一致的数据。当该SQL查询语句的SELECT子句中还包含有聚合函数时,还可以对选出的数据通过聚合函数进行聚合运算,从而得到聚合查询结果。例如,该数据库中存储有学生信息数据表(表名为student),在该学生信息数据表中存储有学生姓名(sname)、学号(sno)和年龄(age)等信息。当接收到的SQL查询语句为SELECT AVG(age)FROM student时,则确定需要从学生信息数据表中获取全部学生的年龄,并按照该学生信息数据表中学生总人数进行聚合运算,得到该学生信息数据表中所有学生的平均年龄,并将运算得到的平均年龄作为聚合查询结果。
由于通过上述方法对该数据进行聚合查询时,需要通过聚合函数实时地对获取到的数据进行聚合运算,从而得到聚合查询结果。因此,当聚合查询涉及的数据量较大时,从该数据库包括的多个分布在不同设备的数据表中获取数据并进行实时运算将耗费大量的时间,造成查询响应时间较长,严重影响查询效率。
发明内容
为了解决现有技术中聚合查询响应时间长,查询效率低下的问题,本发明实施例提供了一种数据查询方法及装置。所述技术方案如下:
一方面,提供了一种数据查询方法,所述方法包括:
当接收到结构化查询语言SQL查询语句时,确定所述SQL查询语句所要查询的目标数据表;
根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,所述至少一个预统计信息是对所述目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定所述目标预统计信息时采用的维度和度量与所述SQL查询语句中包括的维度和度量均相同;
根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果。
可选地,所述根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,包括:
从所述至少一个预统计信息中选择层级维度与所述SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,所述层级维度是在确定所述至少一个预统计信息时进行层级划分的维度;
将所述SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为所述SQL查询语句的条件维度;
从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为所述目标预统计信息。
可选地,所述从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,包括:
当所述SQL查询语句还包括分组维度时,从所述选择的预统计信息中确定条件维度、分组维度和度量均与所述SQL查询语句的条件维度、分组维度和度量相同的预统计信息。
可选地,所述目标预统计信息中包括多条信息记录,所述多条信息记录是按照所述层级维度的层级对所述目标数据表中的数据预先按照同一维度和同一度量进行聚合运算得到;
所述根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果,包括:
获取所述SQL查询语句的条件表达式中所述层级维度对应的条件范围;
将所述条件范围按照所述层级维度的层级进行拆分,得到多个子条件;
从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;
从所述多个子条件中获取在所述预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;
根据所述第一子条件和第二子条件,获取所述聚合查询结果。
可选地,所述根据所述第一子条件和第二子条件,获取所述聚合查询结果,包括:
获取所述目标预统计信息中与所述第一子条件对应的信息记录中存储的数据,得到第一查询结果;
从所述目标数据表中获取满足所述第二子条件的数据;
根据所述SQL查询语句的度量,对从所述目标数据表中获取的数据进行聚合运算,得到第二查询结果;
将所述第一查询结果和所述第二查询结果进行合并,得到所述聚合查询结果。
可选地,所述根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息之前,还包括:
接收预统计指令,所述预统计指令中携带所述目标数据表的层级维度、分组维度、条件维度和度量,所述目标数据表为数据库中存储的任一数据表;
根据所述层级维度、分组维度、条件维度和度量,对所述目标数据表中的数据进行聚合运算,得到所述目标数据表的预统计信息。
另一方面,提供了一种数据查询装置,所述装置包括:
第一确定模块,用于当接收到结构化查询语言SQL查询语句时,确定所述SQL查询语句所要查询的目标数据表;
第二确定模块,用于根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,所述至少一个预统计信息是对所述目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定所述目标预统计信息时采用的维度和度量与所述SQL查询语句中包括的维度和度量均相同;
获取模块,用于根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果。
可选地,所述第二确定模块包括:
第一选择子模块,用于从所述至少一个预统计信息中选择层级维度与所述SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,所述层级维度是在确定所述至少一个预统计信息时进行层级划分的维度;
第一确定子模块,用于将所述SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为所述SQL查询语句的条件维度;
第二确定子模块,用于从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为所述目标预统计信息。
可选地,所述第二确定子模块用于:
当所述SQL查询语句还包括分组维度时,从所述选择的预统计信息中确定条件维度、分组维度和度量均与所述SQL查询语句的条件维度、分组维度和度量相同的预统计信息。
可选地,所述目标预统计信息中包括多条信息记录,所述多条信息记录是按照所述层级维度的层级对所述目标数据表中的数据预先按照同一维度和同一度量进行聚合运算得到;
所述获取模块包括:
第一获取子模块,用于获取所述SQL查询语句的条件表达式中所述层级维度对应的条件范围;
拆分子模块,用于将所述条件范围按照所述层级维度的层级进行拆分,得到多个子条件;
第二获取子模块,用于从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;
第三获取子模块,用于从所述多个子条件中获取在所述预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;
第四获取子模块,用于根据所述第一子条件和第二子条件,获取所述聚合查询结果。
可选地,所述第四获取子模块用于:
获取所述目标预统计信息中与所述第一子条件对应的信息记录中存储的数据,得到第一查询结果;
从所述目标数据表中获取满足所述第二子条件的数据;
根据所述SQL查询语句的度量,对从所述目标数据表中获取的数据进行聚合运算,得到第二查询结果;
将所述第一查询结果和所述第二查询结果进行合并,得到所述聚合查询结果。
可选地,所述装置还包括:
接收模块,用于接收预统计指令,所述预统计指令中携带所述目标数据表的层级维度、分组维度、条件维度和度量,所述目标数据表为数据库中存储的任一数据表;
运算模块,用于根据所述层级维度、分组维度、条件维度和度量,对所述目标数据表中的数据进行聚合运算,得到所述目标数据表的预统计信息。
本发明实施例提供的技术方案带来的有益效果是:当接收到的SQL查询语句时,确定该SQL查询语句所要查询的目标数据表,之后,根据该SQL查询语句包括的维度和度量,从目标数据表对应的至少一个预统计信息中确定目标预统计信息,并根据该SQL查询语句和目标预统计信息获取最终的查询结果。由于该至少一个预统计信息是对目标数据表中的数据预先进行聚合运算得到的,因此,当根据该SQL查询语句确定得到目标预统计信息之后,可以从该目标预统计信息中直接获取部分或者全部的聚合查询结果,省去了相关技术中根据SQL查询语句从目标数据表中获取大量数据并对大量数据进行实时运算的过程,缩短了查询响应时间,提高了查询效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据查询方法流程图;
图2是本发明实施例提供的一种数据查询方法流程图;
图3A是本发明实施例提供的一种数据查询装置结构示意图;
图3B是本发明实施例提供的第二确定模块的结构示意图;
图3C是本发明实施例提供的获取模块的结构示意图;
图3D是本发明实施例提供的一种数据查询装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例的应用场景予以介绍。在当前的信息化社会中,各类信息资源都可以经过数字化后变为数据进行存储,而由于数据量越来越大,一个设备的存储容量往往不够用,因此,可以将大量的数据分散的存储在多个设备中,该多个设备可以通过网络进行连接,从而形成一个大型的分布式数据库。在分布式数据库中,多个设备一般通过数据表来存储数据,不同的数据表包括不同的维度,且不同的数据表通过表名进行区分。例如,学校中用于存储学生信息的数据库中,可以包括学生基本信息数据表,学生成绩数据表和学生选课数据表。在学生基本信息数据表中,可以包括学生姓名、性别、籍贯以及出生日期等维度;在学生成绩数据表中,可以包括学生姓名、课程和成绩等维度;在学生选课数据表中,则可以包括课程号、系别、年级以及选课人数等维度。
通常,用户可以采用SQL查询语句对分布式数据库中的数据进行查询。当通过SQL查询语句进行数据查询时,不仅可以查询数据表中的一条信息,还可以查询数据表中的多条信息并将该多条信息进行汇总,这种查询多条信息并将多条信息进行汇总的查询方式叫做聚合查询,其中,SQL查询语句中用于将多条信息进行汇总的函数称为聚合函数。常见的聚合函数包括MAX函数、COUNT(记录数)函数、AVG(average,平均值)函数等。
相关技术中,当通过SQL查询语句对分布式数据库中的数据进行聚合查询时,需要根据SQL查询语句,从指定表名的数据表中实时获取数据,并通过聚合函数对获取到的数据进行实时的聚合运算,以得到最终的聚合查询结果。但是,由于聚合查询时往往涉及的数据量比较大,因此,从一个或者多个设备的数据表中实时的获取大量的数据并且实时的进行聚合运算将耗费大量的时间,严重影响查询效率。为了解决相关技术中聚合查询响应时间较长,查询效率低下的问题,本发明实施例提供了一种数据查询方法及装置。在该方法中,在接收到SQL查询语句时,可以根据该SQL查询语句确定要查询的目标数据表,并根据该SQL查询语句中包括的维度和度量,从预先对目标数据表进行聚合运算得到的多个预统计信息中,获取目标预统计信息,并根据该预统计信息和SQL查询语句确定最终的聚合查询结果。在本发明实施例中,由于可以直接根据SQL查询语句获取预先统计好的预统计信息,并根据预统计信息确定聚合查询结果,因此,省去了根据SQL查询语句实时获取大量数据并对大量数据实时进行聚合运算的过程,减少了查询所需要的时间,也即是,缩短了查询响应时间,提高了查询效率。
图1是本发明实施例提供的一种数据查询方法,参见图1,该方法用于数据查询装置中,该数据查询装置可以为终端,也可以为服务器,其中,当该数据查询装置为终端时,该终端可以为计算机、平板设备等,该数据查询方法包括:
步骤101:当接收到SQL查询语句时,确定该SQL查询语句所要查询的目标数据表。
通常,当用户对分布式数据库中的数据进行查询时,可以通过SQL进行查询。由于分布式数据库中存储有多个数据表,因此,当接收到SQL查询语句时,数据查询装置首先需要确定该SQL查询语句所要查询的数据表。
需要说明的是,SQL查询语句的一般格式为:SELECT<目标列表达式>FROM<表名或视图名>WHERE<条件表达式>。其中,FROM子句中包含的表名即为该SQL查询语句所要查询的数据表的表名。因此,当数据查询装置接收到SQL查询语句时,可以将该SQL查询语句的FROM子句中的表名对应的数据表确定为所要查询的目标数据表。
例如,假设SQL查询语句为:select count(inte)from allTomType where date='2011-10-16'and stri='d0:82:e4:32:64:20,那么,在该SQL查询语句中,fromallTomType即为FROM子句,allTomType即为该FROM子句中包括的表名,也就是该SQL查询语句所要查询的数据表的表名。数据查询装置在接收到该SQL查询语句时,可以将数据库中表名为allTomType的数据表确定为目标数据表。
步骤102:根据该SQL查询语句中包括的维度和度量,从该目标数据表的至少一个预统计信息中确定目标预统计信息,该至少一个预统计信息是对该目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定该目标预统计信息时采用的维度和度量与该SQL查询语句中包括的维度和度量均相同。
通常,目标数据表可以对应有至少一个预统计信息,当通过SQL查询语句查询该目标数据表的至少一个预统计信息时,只有该至少一个预统计信息中存在与该SQL查询语句包括的维度和度量均相同的预统计信息,数据查询装置才能根据该SQL查询语句从该至少一个预统计信息中得到所要查询的聚合查询结果,也即是,数据查询装置只有从该至少一个预统计信息中确定一个维度和度量与该SQL查询语句完全符合的预统计信息,才能根据该SQL查询语句从该确定的预统计信息中获取聚合查询结果。因此,当确定该SQL查询语句所要查询的目标数据表之后,数据查询装置可以根据该SQL查询语句中包括的维度和度量,从该目标数据表的至少一个预统计信息中确定目标预统计信息,从而根据该目标预统计信息确定聚合查询结果。其中,SQL查询语句中包括的度量为该SQL查询语句所要查询的聚合查询结果,且从该SQL查询语句中的度量可以确定该SQL查询语句所采用的聚合函数。
其中,数据查询装置根据该SQL查询语句中包括的维度和度量,从该目标数据表的至少一个预统计信息中确定目标预统计信息的操作可以为:从该至少一个预统计信息中选择层级维度与该SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,该层级维度是在确定至少一个预统计信息时进行层级划分的维度;将该SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为该SQL查询语句的条件维度;从选择的预统计信息中确定条件维度和度量均与该SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为目标预统计信息。
需要说明的是,该目标数据表的至少一个预统计信息是根据层级维度进行层级划分,并根据划分的层级进行聚合运算得到的,也即是,该SQL查询语句的条件表达式中需要包含有该至少一个预统计信息中的至少一个层级维度,才能查询该目标数据表的至少一个预统计信息。因此,数据查询装置首先可以从该至少一个预统计信息中选择层级维度与该SQL查询语句的条件表达式中包含的任一维度相同的预统计信息。如果该至少一个预统计信息中不存在层级维度与该SQL查询语句的条件表达式包含的任一维度相同的预统计信息,那么,就说明该目标数据表的至少一个预统计信息中不包含与该SQL查询语句的查询条件相符合的预统计信息,因此,数据查询装置也就不能从该至少一个预统计信息中直接获取到该SQL查询语句想要查询的聚合查询结果。
当然,如果数据查询装置从该至少一个预统计信息中选择得到层级维度与该SQL查询语句的条件表达式中的任一维度相同的预统计信息,那么,数据查询装置可以将该SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为该SQL查询语句的条件维度。也即是,如果该SQL查询语句中包括多个维度,那么,除了与选择的预统计信息的层级维度相同的维度之外,其他的维度均确定为条件维度,当然,如果该SQL查询语句的条件表达式中仅包括一个维度,那么,该与选择的预统计信息的层级维度相同的维度将既是层级维度,又为条件维度。
当确定了条件维度之后,数据查询装置可以从之前选择的预统计信息中确定条件维度和度量与该SQL查询语句的条件维度和度量均相同的预统计信息,该确定的预统计信息即为目标预统计信息。也即是,该目标预统计信息即为符合该SQL查询条件的预统计信息。数据查询装置根据该预统计信息和SQL查询语句就可以确定聚合查询结果。
例如,假设该SQL查询语句为:select count(inte)from allTomType where date='2011-10-16'and stri='d0:82:e4:32:64:20,其中,该SQL查询语句的条件表达式为where date='2011-10-16'and stri='d0:82:e4:32:64:20,可见,该条件表达式中包括两个维度,分别为date和stri,数据查询装置可以从表名为allTomType的目标数据表对应的至少一个预统计信息中,选择层级维度与date或stri相同的预统计信息,如果从该至少一个预统计信息中选择的预统计信息的层级维度为date,那么,该条件表达式中剩余的一个维度stri即为条件维度。当确定条件维度stri之后,数据查询装置还可以从该SQL查询语句的SELCET子句中,确定该SQL查询语句的度量为count(inte)。之后,数据查询装置可以根据上述确定的条件维度和度量,从选择的层级维度为date的预统计信息中确定与该SQL查询语句的条件维度和度量均相同的预统计信息,该确定的预统计信息即为目标预统计信息。
进一步地,该SQL查询语句中还可以包括group by子句,该group by子句用于指示将查询结果按照该group by子句包含的维度进行分组,也即是,该group by子句包含的维度即为分组维度。如果该SQL查询语句中包含有分组维度,那么,只有条件维度、分组维度和度量与该SQL查询语句的条件维度、分组维度和度量均相同的预统计信息,才是符合该SQL查询语句的条件的预统计信息,也即是,该SQL查询语句能够查询的预统计信息。因此,当该SQL查询语句还包括group by子句时,数据查询装置可以从该group by子句中确定分组维度,并从选择的预统计信息中确定条件维度、分组维度和度量均与该SQL查询语句的条件维度、分组维度和度量相同的预统计信息,并将确定的预统计信息确定为目标预统计信息。
例如,假设该SQL查询语句为:select stri,count(inte)from allTomType wheredate>='2011-10-16'and date<='2011-10-19'and(stri='d0:82:e4:32:64:20'orstri='str-505')group by stri,那么,该SQL查询语句的group by子句为group bystri。数据查询装置在接收到该SQL查询语句之后,可以根据该SQL查询语句的group by子句确定分组维度为stri,并根据前述方法确定该SQL查询语句的条件维度和度量。之后,数据查询装置可以从选择的预统计信息中确定分组维度、条件维度和度量与该SQL查询语句的条件维度、分组维度和度量相同的预统计信息,并将确定的预统计信息确定为目标预统计信息。
可选地,在预统计过程中,对于目标数据表的每个预统计信息,均可以生成该预统计信息对应的预定义格式,且在该预定义格式中,通过该预统计信息的层级维度将该预统计信息的条件维度和分组维度区分开来。因此,数据查询装置可以根据该SQL查询语句中的条件维度和分组维度,从预统计信息对应的预定义格式中选择条件维度和分组维度与该SQL查询语句相同的预定义格式,并从选择的预定义格式对应的预统计信息中确定度量与该SQL查询语句的度量相同的预统计信息。
步骤103:根据该SQL查询语句和该目标预统计信息获取聚合查询结果。
当从该目标数据表的至少一个预统计信息中确定目标预统计信息之后,数据查询装置可以根据该SQL查询语句的条件表达式中包括的条件,通过该目标预统计信息获取聚合查询结果。
通常,在预统计过程中,当按照确定的层级维度的层级对目标数据表中的数据预先按照同一维度和同一度量进行聚合运算时,得到的预统计信息可以包括多条信息记录,也即是,该目标预统计信息中可以包括多条信息记录。因此,数据查询装置根据该SQL查询语句和该目标预统计信息获取聚合查询结果的操作可以为:获取该SQL查询语句的条件表达式中层级维度对应的条件范围;将条件范围按照层级维度的层级进行拆分,得到多个子条件;从多个子条件中获取在目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;从多个子条件中获取在预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;根据第一子条件和第二子条件,获取聚合查询结果。
需要说明的是,该SQL查询语句的条件表达式中的层级维度可以对应有具体的条件范围,因此,数据查询装置首先可以获取该条件表达式中层级维度对应的条件范围,并将该条件范围按照层级维度的层级进行拆分,得到多个子条件。
例如,假设该SQL查询语句为:select count(num)from cube_test where name='ese'and date>='2016-01-01'and date<='2017-03-21,其中,层级维度为date,那么,该条件表达式中层级维度date对应的条件范围为2016.1.1-2017.3.21,数据查询装置可以将该条件范围拆分为三个子条件:2016.1.1-2016.12.31,2017.1.1-2017.3.1,2017.3.1-2017.3.21。
由于目标预统计信息中的信息记录需要不断的更新,而当该目标预统计信息中的某条信息记录正在更新时,该条信息记录的状态将为不可用状态,对于对应的信息记录的状态为不可用状态的子条件,显然,数据查询装置不能从该目标预统计信息中获取到该子条件对应的聚合查询结果。因此,当将层级维度对应的条件范围拆分为多个子条件之后,数据查询装置可以根据该多个子条件对应的信息记录的状态是否可用,将该多个子条件分为两类,其中,对应的信息记录的状态为可用状态的子条件为第一子条件,对应的信息记录的状态为不可用状态的子条件为第二子条件。
当确定第一子条件和第二子条件之后,数据查询装置可以获取目标预统计信息中与第一子条件对应的信息记录中存储的数据,得到第一查询结果;从目标数据表中获取满足第二子条件的数据;根据SQL查询语句的度量,对从目标数据表中获取的数据进行聚合运算,得到第二查询结果;将第一查询结果和第二查询结果进行合并,得到聚合查询结果。
其中,由于第一子条件对应的信息记录的状态为可用状态,因此,数据查询装置可以从该第一子条件对应的信息记录中获取满足该SQL查询语句的条件的预统计数据,得到第一查询结果。而第二子条件对应的信息记录的状态为不可用状态,因此,数据查询装置不能从第二子条件对应的信息记录中获取到存储的数据,在这种情况下,数据查询装置可以根据该SQL查询语句,从目标数据表中获取满足该第二子条件的数据,并按照该SQL查询语句中的度量对获取到的数据进行聚合运算,得到第二查询结果。当数据查询装置获取到第一查询结果和第二查询结果之后,可以根据该SQL查询语句的度量,对该第一查询结果和第二查询结果进行合并。例如,假设该SQL查询语句的度量为count(inte),那么数据查询装置可以确定该SQL查询语句采用的聚合函数为COUNT函数,也即是,该SQL查询语句所要查询的是记录数,在得到第一查询结果和第二查询结果之后,由于该第一查询结果和第二查询结果均为记录数,因此数据查询装置可以直接将该第一查询结果和第二查询结果进行加和,从而得到最终的聚合查询结果。如果该SQL查询语句的度量为max(inte),那么数据查询装置可以确定该SQL查询语句采用的聚合函数为MAX函数,也即是,该SQL查询语句所要查询的是最大值,在这种情况下,在得到第一查询结果和第二查询结果之后,由于第一查询结果是满足第一子条件的最大值,而第二查询结果是满足第二子条件的最大值,因此,数据查询装置可以将这两个查询结果中最大值确定为最终的聚合查询结果。
可选地,假设该目标数据表的至少一个预统计信息的层级维度均是时间维度,那么,数据查询装置还可以根据SQL查询语句,通过上述方法获取得到时间层级的数据报表。其中,数据查询装置根据SQL查询语句获取时间层级的数据报表的方法与根据SQL查询语句获取聚合查询结果的方法相同,在这里不再赘述。
在本发明实施例中,当接收到的SQL查询语句时,数据查询装置可以确定该SQL查询语句所要查询的目标数据表,之后,根据该SQL查询语句包括的维度和度量,从目标数据表对应的至少一个预统计信息中确定目标预统计信息,并根据该SQL查询语句和目标预统计信息获取最终的查询结果。由于该至少一个预统计信息是对目标数据表中的数据预先进行聚合运算得到的,因此,当根据该SQL查询语句确定得到目标预统计信息之后,可以从该目标预统计信息中直接获取部分或者全部的聚合查询结果,省去了相关技术中根据SQL查询语句从目标数据表中获取大量数据并对大量数据进行实时运算的过程,缩短了查询响应时间,提高了查询效率。另外,对于该SQL查询语句的条件表达式中层级维度对应的条件范围,数据查询装置可以将该条件范围拆分成多个子条件。这样,对于对应的信息记录为可用状态的子条件,依然可以通过该目标预统计信息确定查询结果,而只有对应的信息记录的状态为不可用的子条件,才需要通过实时获取数据和聚合运算确定查询结果,缩短了查询响应时间,提高了查询效率。
在通过上述实施例提供的方法对数据库中的数据进行查询之前,数据查询装置还可以对该数据库的数据表中的数据进行预统计,图2是本发明实施例提供的一种对数据表中的数据进行预统计的方法,该预统计方法用于数据查询装置中,如图2所示,该方法包括:
步骤201:接收预统计指令,该预统计指令中携带目标数据表的层级维度、分组维度、条件维度和度量,该目标数据表为数据库中存储的任一数据表。
通常,分布式数据库中包括有多个数据表,每个数据表可以包括有多个不同的维度。用户可以选择该多个数据表中的任一数据表,并根据该选择的任一数据表的维度,通过执行预设操作来触发预统计指令,数据查询装置在接收到该预统计指令后,可以根据该预统计指令对该数据表中的数据进行预统计,以得到该数据表的预统计信息。在本发明实施例中,以用户选择的任一数据表为上述实施例中的目标数据表为例,对该预统计方法进行说明。
需要说明的是,由于该目标数据表中可以包括多个维度,因此,用户可以从该目标数据表包括的多个维度中选择不同的层级维度、条件维度和分组维度,之后,可以从该目标数据表包括的多个维度选择任一维度,并从多种聚合函数中选择一个聚合函数,从而得到所要统计的度量。该选择的聚合函数可以是用户从多种聚合函数中随机选择的聚合函数,也可以是用户根据实际需求选择的聚合函数。之后,用户可以根据该选择的层级维度、条件维度、分组维度以及由选择的任一维度和聚合函数确定得到的度量执行预设操作,从而触发预统计指令。
其中,层级维度为该目标数据表中可以用来进行层级划分的维度,例如,该层级维度可以为该目标数据表中的时间维度,按照该时间维度可以划分得到年、月、日等层级,当然,该层级维度也可以为该目标数据表中的地域维度,按照该地域维度可以划分得到省、市、区等层级。条件维度可以为该目标数据表中的任一维度,当进行预统计时,可以根据该目标数据表中包括的该条件维度的某个值,对该目标数据表中的数据进行统计,也可以根据该条件维度包括的所有的值,对该目标数据表中的数据进行统计。分组维度可以为该数据表中的任一维度,在进行预统计时,需要根据该分组维度包括的所有值,对该目标数据表中的数据分组进行统计。
例如,假设该目标数据表为收费站的信息记录表。该收费站的信息记录表可以包括时间、卡口和车牌号三个维度,那么,可以将时间维度确定为该目标数据表的层级维度,将卡口维度确定为该目标数据表的分组维度,将车牌号维度下包括的至少一个值确定为该目标数据表的条件维度,之后,可以确定所要采用的聚合函数,并从三个维度中选择任一维度,组成所要查询的度量。例如,用户想要预统计出某个时间段内通过A卡口的车牌号为某个值的记录的个数,那么,就可以确定度量为count(车牌号)。
需要说明的是,根据一组确定的层级维度、条件维度、分组维度和度量,数据查询装置可以确定得到该目标数据表的一个预统计信息,因此,当用户想要得到该目标数据表的多个预统计信息时,用户可以通过执行一个预设操作,触发一个预统计指令,以得到该目标数据表的多个预统计信息,在这种情况下,在该预统计指令中将携带有多组层级维度、条件维度、分组维度和度量,其中,每组层级维度、条件维度、分组维度和度量对应一个预统计信息。当然,用户也可以通过执行多个预设操作,触发多个预统计指令,以使数据查询装置根据该多个预统计指令得到该目标数据表的多个预统计信息,在这种情况下,该多个预统计指令中的每个预统计指令将只携带一组确定的层级维度、条件维度、分组维度和度量。
当触发了预统计指令之后,数据查询装置可以通过步骤202对该目标数据表的数据进行聚合运算,从而得到该目标数据表的预统计信息。
步骤202:根据该层级维度、分组维度、条件维度和度量,对该目标数据表中的数据进行聚合运算,得到该目标数据表的预统计信息。
当触发了预统计指令之后,数据查询装置可以根据该预统计指令中携带的层级维度、分组维度、条件维度和度量对该目标数据表中的数据进行聚合运算。具体的,数据查询装置首先可以根据该预统计指令中携带的层级维度进行层级划分,得到多个层级;之后,根据层级维度的每个层级、条件维度、度量以及分组维度包括的每个值,从目标数据表中获取对应的数据,得到多组数据,并通过预统计指令中携带的度量对该多组数据分别进行聚合运算,得到该目标数据表的预统计信息。
以上述收费站的信息记录表为例,假设确定的层级维度为时间、分组维度为卡口,条件维度为车牌号,度量为count(车牌号),并且,假设卡口维度包括A卡口、B卡口、C卡口三个值。那么,数据查询装置首先可以根据该层级维度进行层级划分,例如,将时间划分为年、月、日,得到预统计信息的层级;之后,根据该目标数据表中层级维度包含的值,首先对某年的,卡口维度为A的,符合条件维度的数据,通过COUNT函数进行聚合运算,得到该预统计信息中的一条信息记录,该信息记录即为某年通过A卡口的符合条件维度的记录数。之后,数据查询装置可以对卡口维度为B的、符合条件维度的数据,通过COUNT函数进行聚合运算,得到某年通过B卡口的符合条件维度的记录数。同理,可以得到某年通过C卡口的符合条件维度的记录数。当对年的层级统计完之后,数据查询装置可以通过上述方法计算该年的每个月对应的记录数,得到该年的多个月的信息记录,之后,对于每个月的每一日,通过上述方法计算得到多个日的信息记录。
需要说明的是,上述所举的例子仅仅是用于说明数据查询装置确定预统计信息的过程的一个简单示例,实际应用中,目标数据表中往往可能包括比上述例子更多的维度,用户也可以根据维度选用不同的度量,因此,当数据查询装置接收到预统计指令后,如果该预统计指令中携带有多组层级维度、条件维度、分组维度和度量时,数据查询装置可以根据该多组层级维度、条件维度、分组维度和度量对目标数据表中的数据分别进行聚合运算,得到该目标数据表的多个预统计信息。当然,数据查询装置也可以根据预统计指令中携带的一组层级维度、条件维度、分组维度和度量对目标数据表中的数据进行聚合运算,得到一个预统计信息。
可选地,当根据预统计指令对目标数据表中的数据提前进行聚合运算,得到预统计信息时,数据查询装置还可以根据得到的预统计信息生成该预统计信息对应的预定义格式,在该预定义格式中,通过该预统计信息的层级维度将该预统计信息的条件维度和分组维度区分开来。其中,如果在层级维度之前的为条件维度,那么,在层级维度之后的即为分组维度,或者,如果在层级维度之前的为分组维度,那么,在层级维度之后的就为条件维度。这样,当进行聚合查询时,数据查询装置可以更方便的根据SQL查询语句的条件维度和分组维度,从目标数据表的预统计信息中确定条件维度和分组维度相同的预统计信息。例如,层级维度为时间、条件维度为车牌号,分组维度为卡口的预统计信息,那么,数据查询装置可以根据该预统计信息生成车牌号/时间/卡口的预定义格式,或者该预统计信息对应的预定义格式可以为卡口/时间/车牌号,这样,在聚合查询的过程中,数据查询装置就可以容易的分辨出该预统计信息的分组维度和条件维度。
当数据查询装置根据预统计指令对目标数据表中的数据提前进行聚合运算,得到预统计信息之后,即可以根据SQL查询语句,通过步骤203-步骤205对该目标数据表的预统计信息进行查询,从而得到聚合查询结果。
在本发明实施例中,对于数据库中的每个数据表,数据查询装置在接收到针对该数据表的预统计指令时,都可以通过该预统计指令中携带的层级维度、分组维度、条件维度和度量对该数据表中的数据进行聚合运算,从而得到该数据表的至少一个预统计信息,这样,当数据查询装置接收到SQL查询语句时,就可以根据该SQL查询语句和预统计信息确定聚合查询结果,省去了相关技术中根据SQL查询语句从该数据库的数据表中获取大量数据,并对大量数据进行实时运算的过程,缩短了查询响应时间,提高了查询效率。
图3A是本发明实施例提供的一种数据查询装置300,该装置300包括第一确定模块301、第二确定模块302和获取模块303。
第一确定模块301,用于当接收到结构化查询语言SQL查询语句时,确定该SQL查询语句所要查询的目标数据表;
第二确定模块302,用于根据该SQL查询语句中包括的维度和度量,从目标数据表的至少一个预统计信息中确定目标预统计信息,该至少一个预统计信息是对目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定该目标预统计信息时采用的维度和度量与SQL查询语句中包括的维度和度量均相同;
获取模块303,用于根据SQL查询语句和该目标预统计信息获取聚合查询结果。
可选地,参见图3B,第二确定模块302包括:
第一选择子模块3021,用于从至少一个预统计信息中选择层级维度与SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,该层级维度是在确定至少一个预统计信息时进行层级划分的维度;
第一确定子模块3022,用于将SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为SQL查询语句的条件维度;
第二确定子模块3023,用于从选择的预统计信息中确定条件维度和度量均与SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为目标预统计信息。
可选地,第二确定子模块3023用于:
当SQL查询语句还包括分组维度时,从选择的预统计信息中确定条件维度、分组维度和度量均与SQL查询语句的条件维度、分组维度和度量相同的预统计信息。
可选地,目标预统计信息中包括多条信息记录,多条信息记录是按照层级维度的层级对目标数据表中的数据预先按照同一维度和同一度量进行聚合运算得到;
参见图3C,获取模块303包括:
第一获取子模块3031,用于获取SQL查询语句的条件表达式中层级维度对应的条件范围;
拆分子模块3032,用于将条件范围按照层级维度的层级进行拆分,得到多个子条件;
第二获取子模块3033,用于从多个子条件中获取在目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;
第三获取子模块3034,用于从多个子条件中获取在预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;
第四获取子模块3035,用于根据第一子条件和第二子条件,获取聚合查询结果。
可选地,第四获取子模块3035用于:
获取目标预统计信息中与第一子条件对应的信息记录中存储的数据,得到第一查询结果;
从目标数据表中获取满足第二子条件的数据;
根据SQL查询语句的度量,对从目标数据表中获取的数据进行聚合运算,得到第二查询结果;
将第一查询结果和第二查询结果进行合并,得到聚合查询结果。
可选地,该装置300还包括:
接收模块304,用于接收预统计指令,预统计指令中携带目标数据表的层级维度、分组维度、条件维度和度量,目标数据表为数据库中存储的任一数据表;
运算模块305,用于根据层级维度、分组维度、条件维度和度量,对目标数据表中的数据进行聚合运算,得到目标数据表的预统计信息。
在本发明实施例中,当接收到的SQL查询语句时,数据查询装置可以确定该SQL查询语句所要查询的目标数据表,之后,根据该SQL查询语句包括的维度和度量,从目标数据表对应的至少一个预统计信息中确定目标预统计信息,并根据该SQL查询语句和目标预统计信息获取最终的查询结果。由于该至少一个预统计信息是对目标数据表中的数据预先进行聚合运算得到的,因此,当根据该SQL查询语句确定得到目标预统计信息之后,可以从该目标预统计信息中直接获取部分或者全部的聚合查询结果,省去了相关技术中根据SQL查询语句从目标数据表中获取大量数据并对大量数据进行实时运算的过程,缩短了查询响应时间,提高了查询效率。另外,对于该SQL查询语句的条件表达式中层级维度对应的条件范围,数据查询装置可以将该条件范围拆分成多个子条件。这样,对于对应的信息记录为可用状态的子条件,依然可以通过该目标预统计信息确定查询结果,而只有对应的信息记录的状态为不可用的子条件,才需要通过实时获取数据和聚合运算确定查询结果,缩短了查询响应时间,提高了查询效率。
需要说明的是:上述实施例提供的数据查询装置在查询数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据查询装置与数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据查询方法,其特征在于,所述方法包括:
当接收到结构化查询语言SQL查询语句时,确定所述SQL查询语句所要查询的目标数据表;
根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,所述至少一个预统计信息是对所述目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定所述目标预统计信息时采用的维度和度量与所述SQL查询语句中包括的维度和度量均相同;
根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,包括:
从所述至少一个预统计信息中选择层级维度与所述SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,所述层级维度是在确定所述至少一个预统计信息时进行层级划分的维度;
将所述SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为所述SQL查询语句的条件维度;
从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为所述目标预统计信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,包括:
当所述SQL查询语句还包括分组维度时,从所述选择的预统计信息中确定条件维度、分组维度和度量均与所述SQL查询语句的条件维度、分组维度和度量相同的预统计信息。
4.根据权利要求2所述的方法,其特征在于,所述目标预统计信息中包括多条信息记录,所述多条信息记录是按照所述层级维度的层级对所述目标数据表中的数据预先按照同一维度和同一度量进行聚合运算得到;
所述根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果,包括:
获取所述SQL查询语句的条件表达式中所述层级维度对应的条件范围;
将所述条件范围按照所述层级维度的层级进行拆分,得到多个子条件;
从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;
从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;
根据所述第一子条件和第二子条件,获取所述聚合查询结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一子条件和第二子条件,获取所述聚合查询结果,包括:
获取所述目标预统计信息中与所述第一子条件对应的信息记录中存储的数据,得到第一查询结果;
从所述目标数据表中获取满足所述第二子条件的数据;
根据所述SQL查询语句的度量,对从所述目标数据表中获取的数据进行聚合运算,得到第二查询结果;
将所述第一查询结果和所述第二查询结果进行合并,得到所述聚合查询结果。
6.根据权利要求1所述的方法,其特征在于,所述根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息之前,还包括:
接收预统计指令,所述预统计指令中携带所述目标数据表的层级维度、分组维度、条件维度和度量,所述目标数据表为数据库中存储的任一数据表;
根据所述层级维度、分组维度、条件维度和度量,对所述目标数据表中的数据进行聚合运算,得到所述目标数据表的预统计信息。
7.一种数据查询装置,其特征在于,所述装置包括:
第一确定模块,用于当接收到结构化查询语言SQL查询语句时,确定所述SQL查询语句所要查询的目标数据表;
第二确定模块,用于根据所述SQL查询语句中包括的维度和度量,从所述目标数据表的至少一个预统计信息中确定目标预统计信息,所述至少一个预统计信息是对所述目标数据表中的数据预先按照不同的维度和不同的度量进行聚合运算得到,且确定所述目标预统计信息时采用的维度和度量与所述SQL查询语句中包括的维度和度量均相同;
获取模块,用于根据所述SQL查询语句和所述目标预统计信息获取聚合查询结果。
8.根据权利要求7所述的装置,其特征在于,所述第二确定模块包括:
第一选择子模块,用于从所述至少一个预统计信息中选择层级维度与所述SQL查询语句的条件表达式中包含的任一维度相同的预统计信息,所述层级维度是在确定所述至少一个预统计信息时进行层级划分的维度;
第一确定子模块,用于将所述SQL查询语句的条件表达式包括的维度中除与选择的预统计信息的层级维度相同的维度之外的其他维度确定为所述SQL查询语句的条件维度;
第二确定子模块,用于从所述选择的预统计信息中确定条件维度和度量均与所述SQL查询语句的条件维度和度量相同的预统计信息,并将确定的预统计信息确定为所述目标预统计信息。
9.根据权利要求8所述的装置,其特征在于,所述第二确定子模块用于:
当所述SQL查询语句还包括分组维度时,从所述选择的预统计信息中确定条件维度、分组维度和度量均与所述SQL查询语句的条件维度、分组维度和度量相同的预统计信息。
10.根据权利要求8所述的装置,其特征在于,所述目标预统计信息中包括多条信息记录,所述多条信息记录是按照所述层级维度的层级对所述目标数据表中的数据预先按照同一维度和同一度量进行聚合运算得到;
所述获取模块包括:
第一获取子模块,用于获取所述SQL查询语句的条件表达式中所述层级维度对应的条件范围;
拆分子模块,用于将所述条件范围按照所述层级维度的层级进行拆分,得到多个子条件;
第二获取子模块,用于从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为可用状态的子条件,得到第一子条件;
第三获取子模块,用于从所述多个子条件中获取在所述目标预统计信息中对应的信息记录为不可用状态的子条件,得到第二子条件;
第四获取子模块,用于根据所述第一子条件和第二子条件,获取所述聚合查询结果。
11.根据权利要求10所述的装置,其特征在于,所述第四获取子模块用于:
获取所述目标预统计信息中与所述第一子条件对应的信息记录中存储的数据,得到第一查询结果;
从所述目标数据表中获取满足所述第二子条件的数据;
根据所述SQL查询语句的度量,对从所述目标数据表中获取的数据进行聚合运算,得到第二查询结果;
将所述第一查询结果和所述第二查询结果进行合并,得到所述聚合查询结果。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收预统计指令,所述预统计指令中携带所述目标数据表的层级维度、分组维度、条件维度和度量,所述目标数据表为数据库中存储的任一数据表;
运算模块,用于根据所述层级维度、分组维度、条件维度和度量,对所述目标数据表中的数据进行聚合运算,得到所述目标数据表的预统计信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710302039.2A CN108804459B (zh) | 2017-05-02 | 2017-05-02 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710302039.2A CN108804459B (zh) | 2017-05-02 | 2017-05-02 | 数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804459A CN108804459A (zh) | 2018-11-13 |
CN108804459B true CN108804459B (zh) | 2020-10-09 |
Family
ID=64054044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710302039.2A Active CN108804459B (zh) | 2017-05-02 | 2017-05-02 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804459B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460412A (zh) * | 2018-11-14 | 2019-03-12 | 北京锐安科技有限公司 | 数据聚合方法、装置、设备及存储介质 |
CN110442602B (zh) * | 2019-07-02 | 2021-01-01 | 新华三大数据技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
CN110457350A (zh) * | 2019-07-24 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 用于在查询数据库中进行聚合查询的方法及装置 |
CN110688416A (zh) * | 2019-09-05 | 2020-01-14 | 深圳市中电数通智慧安全科技股份有限公司 | 一种数据查询方法、装置及电子设备 |
CN111737281B (zh) * | 2020-06-23 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 数据库查询方法、装置、电子设备以及可读存储介质 |
CN112269792B (zh) | 2020-12-11 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 数据查询方法、装置、设备及计算机可读存储介质 |
CN112818003B (zh) * | 2021-01-14 | 2023-03-31 | 内蒙古蒙商消费金融股份有限公司 | 一种查询任务的执行风险预估方法及装置 |
CN113849531B (zh) * | 2021-09-23 | 2024-03-22 | 北京百度网讯科技有限公司 | 查询方法及装置 |
CN114817293B (zh) * | 2022-03-31 | 2022-11-08 | 华能信息技术有限公司 | 一种基于分布式sql的数据查询方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197876A (zh) * | 2006-12-06 | 2008-06-11 | 中兴通讯股份有限公司 | 一种对消息类业务数据进行多维分析的方法和系统 |
CN102004768A (zh) * | 2009-08-31 | 2011-04-06 | 埃森哲环球服务有限公司 | 自适应分析多维处理系统 |
CN103853818A (zh) * | 2014-02-12 | 2014-06-11 | 博易智软(北京)技术股份有限公司 | 多维数据的处理方法和装置 |
CN104794221A (zh) * | 2015-04-29 | 2015-07-22 | 苏州国云数据科技有限公司 | 一种基于业务对象的多维数据分析系统 |
CN106250519A (zh) * | 2016-08-04 | 2016-12-21 | 曙光信息产业(北京)有限公司 | 用于并行数据库的数据查询方法和装置 |
CN108572963A (zh) * | 2017-03-09 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 信息获取方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430469B2 (en) * | 2014-04-09 | 2016-08-30 | Google Inc. | Methods and systems for recursively generating pivot tables |
-
2017
- 2017-05-02 CN CN201710302039.2A patent/CN108804459B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197876A (zh) * | 2006-12-06 | 2008-06-11 | 中兴通讯股份有限公司 | 一种对消息类业务数据进行多维分析的方法和系统 |
CN102004768A (zh) * | 2009-08-31 | 2011-04-06 | 埃森哲环球服务有限公司 | 自适应分析多维处理系统 |
CN103853818A (zh) * | 2014-02-12 | 2014-06-11 | 博易智软(北京)技术股份有限公司 | 多维数据的处理方法和装置 |
CN104794221A (zh) * | 2015-04-29 | 2015-07-22 | 苏州国云数据科技有限公司 | 一种基于业务对象的多维数据分析系统 |
CN106250519A (zh) * | 2016-08-04 | 2016-12-21 | 曙光信息产业(北京)有限公司 | 用于并行数据库的数据查询方法和装置 |
CN108572963A (zh) * | 2017-03-09 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 信息获取方法和装置 |
Non-Patent Citations (2)
Title |
---|
信息检索中相关性的维度与度量;杨建林 等;《理论与探索》;20051130;第28卷(第6期);584-587 * |
基于变量选择的OLAP查询推荐仿真模型;倪志伟 等;《系统仿真学报》;20131108;第25卷(第11期);2534-2539 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804459A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804459B (zh) | 数据查询方法及装置 | |
US10747762B2 (en) | Automatic generation of sub-queries | |
CN110795458B (zh) | 交互式数据分析方法、装置、电子设备和计算机可读存储介质 | |
CN110941657B (zh) | 业务数据处理方法及装置 | |
WO2020238130A1 (zh) | 一种大数据日志监控方法及装置、存储介质和计算机设备 | |
CN105117442B (zh) | 一种基于概率的大数据查询方法 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN111291990B (zh) | 一种质量监控处理方法及装置 | |
CN111125199B (zh) | 一种数据库访问方法、装置及电子设备 | |
Christensen et al. | STORM: Spatio-temporal online reasoning and management of large spatio-temporal data | |
CN116703228B (zh) | 一种大数据质量评价方法及系统 | |
CN105786990A (zh) | 数据库数据存储和快速查询的方法及装置 | |
CN111125157A (zh) | 查询数据的处理方法、装置、存储介质及处理器 | |
CN111737488B (zh) | 基于领域实体提取和关联分析的信息溯源方法及装置 | |
CN115098542A (zh) | 一种流式大数据分频预聚合与查询方法 | |
CN109086309B (zh) | 一种指标维度关系定义方法、服务器及存储介质 | |
CN113360517A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111259062A (zh) | 一种能够保证分布式数据库全表查询语句结果集顺序的方法和装置 | |
CN112347098A (zh) | 数据库表拆分方法、系统、电子设备及存储介质 | |
CN110928868A (zh) | 车辆数据检索方法、装置及计算机可读存储介质 | |
CN111125102B (zh) | 一种基于索引数据的数据查询方法及装置 | |
CN112162971B (zh) | 一种多维数据立方体生成方法、装置及系统 | |
CN107291932B (zh) | 一种数据查询方法和装置 | |
CN114547041A (zh) | 数据库表的确定方法及装置 | |
CN116186296A (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 |