本发明专利技术提供一种数据查询方法及装置,方法包括:接收数据查询请求,对数据查询请求进行解析,得到数据查询请求包含的查询条件以及查询条件中的目标数据维度;根据目标数据维度以及预先存储的数据维度与数据表的对应关系,得到目标数据维度对应的数据表;将目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表,生成包含目标数据表的标识和查询条件的查询SQL;将查询SQL发送至数据库,并接收数据库执行查询SQL后反馈的数据查询结果。本发明专利技术将目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表,缩小了数据查询范围,提高了数据查询速度,进而提升了数据查询性能。
A data query method and device
【技术实现步骤摘要】
一种数据查询方法及装置
本专利技术涉及数据库
,更具体的,涉及一种数据查询方法及装置。
技术介绍
随着信息技术的发展,数据呈爆炸式增长,当数据库中存在某个表的数据量过大,比如千万甚至上亿条记录时,此时数据库的查询操作会十分耗时。为了支持高并发、大数据量的访问场景,为了提高数据库访问效率、减少数据库访问时间,一般会对数据库进行分库分表操作。目前主要基于日期进行分库分表,即将每天生成的数据单独存储在一个数据表中,该数据表中包括多个数据维度下的多个指标数据。但是,当查询的数据范围覆盖的日期范围较大时,查询数据量仍然很大,查询速度较慢。
技术实现思路
有鉴于此,本专利技术提供了一种数据查询方法及装置,提高了数据查询速度。为了实现上述专利技术目的,本专利技术提供的具体技术方案如下:一种数据查询方法,包括:接收数据查询请求,对所述数据查询请求进行解析,得到所述数据查询请求包含的查询条件以及所述查询条件中的目标数据维度;根据所述目标数据维度以及预先存储的数据维度与数据库中数据表的对应关系,得到所述目标数据维度对应的数据表,其中,数据表包括每日基础数据表和聚合数据表,所述聚合数据表为从每日基础数据表中提取预设数据维度的预设指标数据,并按预设时间单位对所述预设数据维度的预设指标数据进行聚合得到的;将所述目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表;生成包含所述目标数据表的标识和所述查询条件的查询SQL;将所述查询SQL发送至所述数据库,并接收所述数据库执行所述查询SQL后反馈的数据查询结果。可选的,所述聚合数据表为月度聚合数据表,生成所述数据库中的数据表,包括:对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表。可选的,所述聚合数据表包括月度聚合数据表和年度聚合数据表,生成所述数据库中的数据表,包括:对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表;从所述月度聚合数据表中提取第二预设数据维度的第二预设指标数据,并按年对所述第二预设数据维度的第二预设指标数据进行聚合,得到所述年度聚合数据表,所述第一预设数据维度包括所述第二预设数据维度,所述第一预设指标数据包括所述第二预设指标数据。可选的,所述方法还包括:根据数据库中每个所述数据表的数据维度,分别为每个所述数据表创建索引。一种数据查询装置,包括:解析单元,用于接收数据查询请求,对所述数据查询请求进行解析,得到所述数据查询请求包含的查询条件以及所述查询条件中的目标数据维度;获取单元,用于根据所述目标数据维度以及预先存储的数据维度与数据库中数据表的对应关系,得到所述目标数据维度对应的数据表,其中,数据表包括每日基础数据表和聚合数据表,所述聚合数据表为从每日基础数据表中提取预设数据维度的预设指标数据,并按预设时间单位对所述预设数据维度的预设指标数据进行聚合得到的;确定单元,用于将所述目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表;生成单元,用于生成包含所述目标数据表的标识和所述查询条件的查询SQL;发送单元,用于将所述查询SQL发送至所述数据库,并接收所述数据库执行所述查询SQL后反馈的数据查询结果。可选的,所述聚合数据表为月度聚合数据表,所述装置还包括:数据表生成单元,具体用于:对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表。可选的,所述聚合数据表包括月度聚合数据表和年度聚合数据表,所述装置还包括:数据表生成单元,具体用于:对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表;从所述月度聚合数据表中提取第二预设数据维度的第二预设指标数据,并按年对所述第二预设数据维度的第二预设指标数据进行聚合,得到所述年度聚合数据表,所述第一预设数据维度包括所述第二预设数据维度,所述第一预设指标数据包括所述第二预设指标数据。可选的,所述装置还包括:索引创建单元,用于根据数据库中每个所述数据表的数据维度,分别为每个所述数据表创建索引。相对于现有技术,本专利技术的有益效果如下:本专利技术公开的一种数据查询方法,在数据库中对每日基础数据按日分表,得到每日基础数据表的基础上,在每日基础数据表中提取预设数据维度和预设指标数据,按预设时间单位对其进行聚合,得到聚合数据表,如月度聚合数据表,年度聚合数据表等,也就是说,数据库中存储了不同数据维度范围的数据表。在接收到数据查询请求时,根据数据查询请求中的目标数据维度以及预先存储的数据维度与数据表的对应关系,将目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表,在该目标数据表中进行查询即可,缩小了数据查询范围,提高了数据查询速度,进而提升了数据查询性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种数据查询方法的流程示意图;图2为本专利技术实施例公开的一种生成数据库中数据表的方法的流程示意图;图3为本专利技术实施例公开的另一种生成数据库中数据表的方法的流程示意图;图4为本专利技术实施例公开的一种生成聚合数据表的示意图;图5为本专利技术实施例公开的一种数据查询装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种数据查询方法,在数据库中对每日基础数据按日分表,得到每日基础数据表的基础上,在每日基础数据表中提取预设数据维度和预设指标数据,按预设时间单位对其进行聚合,得到聚合数据表,如月度聚合数据表,年度聚合数据表等,即在数据库中存储了不同数据维度范围的数据表。在接收到数据本文档来自技高网...
【技术保护点】
1.一种数据查询方法,其特征在于,包括:/n接收数据查询请求,对所述数据查询请求进行解析,得到所述数据查询请求包含的查询条件以及所述查询条件中的目标数据维度;/n根据所述目标数据维度以及预先存储的数据维度与数据库中数据表的对应关系,得到所述目标数据维度对应的数据表,其中,数据表包括每日基础数据表和聚合数据表,所述聚合数据表为从每日基础数据表中提取预设数据维度的预设指标数据,并按预设时间单位对所述预设数据维度的所述预设指标数据进行聚合得到的;/n将所述目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表;/n生成包含所述目标数据表的标识和所述查询条件的查询SQL;/n将所述查询SQL发送至所述数据库,并接收所述数据库执行所述查询SQL后反馈的数据查询结果。/n
【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:
接收数据查询请求,对所述数据查询请求进行解析,得到所述数据查询请求包含的查询条件以及所述查询条件中的目标数据维度;
根据所述目标数据维度以及预先存储的数据维度与数据库中数据表的对应关系,得到所述目标数据维度对应的数据表,其中,数据表包括每日基础数据表和聚合数据表,所述聚合数据表为从每日基础数据表中提取预设数据维度的预设指标数据,并按预设时间单位对所述预设数据维度的所述预设指标数据进行聚合得到的;
将所述目标数据维度对应的数据表中数据维度范围最小的数据表确定为所需访问的目标数据表;
生成包含所述目标数据表的标识和所述查询条件的查询SQL;
将所述查询SQL发送至所述数据库,并接收所述数据库执行所述查询SQL后反馈的数据查询结果。
2.根据权利要求1所述的方法,其特征在于,所述聚合数据表为月度聚合数据表,生成所述数据库中的数据表,包括:
对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;
从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表。
3.根据权利要求1所述的方法,其特征在于,所述聚合数据表包括月度聚合数据表和年度聚合数据表,生成所述数据库中的数据表,包括:
对所述数据库中的每日基础数据按日分表,生成所述每日基础数据表;
从所述每日基础数据表中提取第一预设数据维度的第一预设指标数据,并按月对所述第一预设数据维度的第一预设指标数据进行聚合,得到所述月度聚合数据表;
从所述月度聚合数据表中提取第二预设数据维度的第二预设指标数据,并按年对所述第二预设数据维度的第二预设指标数据进行聚合,得到所述年度聚合数据表,所述第一预设数据维度包括所述第二预设数据维度,所述第一预设指标数据包括所述第二预设指标数据。
4.根据权利要求1~3中任意一项所述的方法,其特征在于,所述方法还包括:
根据数据库中每个所述数据表的数据维度,分别为每个所述数据表创建索引。
5.一种数据查询装置,其特征在于,包括:
解...
【专利技术属性】
技术研发人员:金义彬,宋施恩,卢海波,杨根星,杨杰,
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。