CN112286961A - Sql优化查询方法及装置 - Google Patents

Sql优化查询方法及装置 Download PDF

Info

Publication number
CN112286961A
CN112286961A CN202011048287.7A CN202011048287A CN112286961A CN 112286961 A CN112286961 A CN 112286961A CN 202011048287 A CN202011048287 A CN 202011048287A CN 112286961 A CN112286961 A CN 112286961A
Authority
CN
China
Prior art keywords
query
sub
target data
query statement
statement
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.)
Granted
Application number
CN202011048287.7A
Other languages
English (en)
Other versions
CN112286961B (zh
Inventor
卢勇亮
郑尧峰
汤国强
桑强
孙迁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suning Cloud Computing Co Ltd
Original Assignee
Suning Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN202011048287.7A priority Critical patent/CN112286961B/zh
Publication of CN112286961A publication Critical patent/CN112286961A/zh
Priority to CA3132004A priority patent/CA3132004A1/en
Application granted granted Critical
Publication of CN112286961B publication Critical patent/CN112286961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

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

本发明公开一种SQL优化查询方法及装置,涉及大数据技术领域,能够避免熔断机制的启动,同时提升查询效率。该方法包括:解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,UNION集合类型的查询语句包括多个子查询语句;在涉及的存储片段的数量大于阈值时,将子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入子查询语句的过滤条件中;将包含过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。该装置应用有上述方案所提的方法。

Description

SQL优化查询方法及装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种SQL优化查询方法及装置。
背景技术
随着业务数据量的不断增加,流量模型摄入到Druid引擎中datasource的数据量巨大,每次SQL进行同环比查询时,内层的union all子句需要去查SQL指定周期内的所有数据。而为了保护druid引擎对其他任务的有效查询,druid引擎会判断当前SQL周期内的segment总数,并在segment总数超过阈值时启动熔断机制,即便未超过阈值,采用全量查询的方式也会增加查询时间,降低了查询效率。
发明内容
本发明的目的在于提供一种SQL优化查询的方法及装置,能够避免熔断机制的启动,同时提升查询效率。
为了实现上述目的,本发明的第一方面提供一种SQL优化查询的方法,包括:
解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,所述UNION集合类型的查询语句包括多个子查询语句;
在涉及的所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中;
将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
优选地,在所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期的方法包括:
提取每个所述子查询语句对应的查询周期,将各查询周期按照预设粒度平均拆分成多个粒度周期。
较佳地,将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中的方法包括:
识别每个子查询语句对应的目标数据维度,当各所述子查询语句的目标数据维度一致,则取任一所述子查询语句的目标数据维度作为新增条件加入每个所述子查询语句的过滤条件中;
当各所述子查询语句的目标数据维度不一致,则分别将各所述子查询语句的目标数据维度汇总合并后作为新增条件加入每个所述子查询语句的过滤条件中。
优选地,所述UNION集合类型的查询语句至少包括第一周期子查询语句和第二周期子查询语句,所述过滤条件除所述新增条件之外还包括查询度量、维度排序和目标数据查询数量。
较佳地,计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值的方法包括:
计算引擎根据每个子查询语句及其中的过滤条件,分别从相应数据源的对应存储片段中查询符合所述目标数据查询数量条件的目标数据并提取其中的维度值。
进一步地,经处理端计算后向用户返回查询结果的方法包括:
处理端根据各子查询语句返回的所述维度值,按照预设规则计算后向用户返回查询结果。
优选地,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
统计历史SQL查询语句中的热点数据源及其中的热点数据维度,并对热点数据维度对应的维值进行预提取,以备后续SQL查询语句的快速调用。
优选地,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
将每个子查询语句及对应的目标数据和其中的维度值在数据库中进行缓存,以在后续出现相同子查询语句时能够从数据库中快速调用。
与现有技术相比,本发明提供的SQL优化查询的方法具有以下有益效果:
本发明提供的SQL优化查询方法中,在计算引擎根据SQL查询语句查询目标数据之前需对目标数据所涉及存储片段的数量进行预统计,当涉及的存储片段数量大于阈值时,若直接进行全量查询可能会触发计算引擎的熔断机制,故本发明对于此种情况采取的方案是将子查询语句对应的查询周期拆分成多个粒度周期,同时为了避免不同子查询语句对应的目标数据维度不同而导致无法输出查询结果的问题,在查询之前需将多个子查询语句对应的目标数据维度汇总作为新增条件加入每个子查询语句的过滤条件中,上述操作完成之后,最终将包含过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
可见,本发明不仅解决了在全量查询过程中易触发计算引擎熔断机制的问题,还能保证每个子查询语句对应的目标数据维度统一,确保能够输出查询结果。
本发明的第二方面提供一种SQL优化查询的装置,应用于上述技术方案所述的SQL优化查询方法中,所述装置包括:
语句解析单元,用于解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,所述UNION集合类型的查询语句包括多个子查询语句;
识别处理单元,用于在涉及的所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中;
查询单元,用于将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
与现有技术相比,本发明提供的SQL优化查询装置的有益效果与上述技术方案提供的SQL优化查询方法的有益效果相同,在此不做赘述。
本发明的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述SQL优化查询方法的步骤。
与现有技术相比,本发明提供的计算机可读存储介质的有益效果与上述技术方案提供的SQL优化查询方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中SQL优化查询方法的部分流程示意图;
图2为本发明实施例中SQL优化查询方法的全流程示意图;
图3为本发明实施例中SQL优化查询方法的一种示例图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1,本实施例提供一种SQL优化查询方法,包括:
解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,UNION集合类型的查询语句包括多个子查询语句;在涉及的存储片段的数量大于阈值时,将子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入子查询语句的过滤条件中;将包含过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
本实施例提供的SQL优化查询方法中,在计算引擎根据SQL查询语句查询目标数据之前需对目标数据所涉及存储片段的数量进行预统计,当涉及的存储片段数量大于阈值时,若直接进行全量查询可能会触发计算引擎的熔断机制,故本实施例对于此种情况采取的方案是将子查询语句对应的查询周期拆分成多个粒度周期,同时为了避免不同子查询语句对应的目标数据维度不同而导致无法输出查询结果的问题,在查询之前需将多个子查询语句对应的目标数据维度汇总作为新增条件加入每个子查询语句的过滤条件中,上述操作完成之后,最终将包含过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
可见,本实施例不仅解决了在全量查询过程中易触发计算引擎熔断机制的问题,还能保证每个子查询语句对应的目标数据维度统一,确保能够输出查询结果。
具体实施时,UNION集合类型的查询语句通常表示为UNION ALL,包括有多个子查询语句,如包括第一周期子查询语句和第二周期子查询语句,过滤条件(limit条件)除新增条件之外还包括查询度量、维度排序和目标数据查询数量等。计算引擎为druid,数据源为datasource,存储片段为segment,处理端为spark端,其中,过滤条件中的目标数据查询数量主要是用于限制计算引擎目标的数据读取数量,为了避免触发熔断机制。
上述实施例中,在所述存储片段的数量大于阈值时,将子查询语句对应的查询周期拆分成多个粒度周期的方法包括:
提取每个子查询语句对应的查询周期,将各查询周期按照预设粒度平均拆分成多个粒度周期。
示例性地,SQL查询语句由内层语句和外层语句构成,以环比周期查询为例,内层语句包括第一周期子查询语句和第二周期子查询语句,也即当前周期子查询语句和历史周期子查询语句,内层语句的主要作用是从druid中分别读取第一周期子查询语句和第二周期子查询语句所对应的目标数据,外层语句的主要作用是在spark端基于内层语句读取的目标数据维度值做相应的环比计算。
具体实施时,请参阅图2,通过解析SQL查询语句获取逻辑计划树,提取出可用于裁剪的元数据信息,例如包括目标数据所涉及的存储片段查询指令、目标数据维度查询指令、目标数据度量查询指令、目标数据周期查询指令等,然后查看该查询周期中目标数据所涉及的存储片段数量是否大于阈值,若不大于阈值可采用现有技术将SQL查询语句的整个子查询下推给druid进行全量查询,若大于阈值可将查询周期平均拆分成多个粒度周期进行并发查询,以此避免触发druid的熔断机制。比如datasource摄入时最小粒度是天,当前SQL查询语句要查询一个月的数据,则将一个月的查询周期拆分成30个粒度周期。接下来整理每个粒度周期对应的SQL查询语句,目的是为了使每个粒度周期对应的SQL查询语句仅保留所需要的目标维度数据,过滤掉其他无关的衍生度量数据。整理好这些粒度周期对应的SQL信息后,将其转化成druid所能接收的json语句,然后并发请求druid索取目标数据,druid查询每个粒度周期对应的目标数据后,会将每个粒度周期对应的维度集合及对应维度值返回,之后合并所有粒度周期返回的数据集合,通过选择排序算法,得到一个不多于目标数据查询数量的数据集合。
示例性地,请参阅图3,通过SQL查询语句汇总本月及上月同环比增长结果,设定过滤条件中的目标数据查询数量为500条数据。如果直接在druid进行周期为一个月的全量数据查询,druid大表中一共有2亿条目标数据,本实施例将一个月拆分成30个粒度周期,每个粒度周期对应有大概10万条目标数据,利用druid并发读取本月及上月每个粒度周期所对应的数据集合,由于过滤条件中目标数据查询数量为500,故从每个粒度周期中仅过滤出前500条目标数据,之后再将本月与上月属于同一粒度周期的目标数据汇总成500条目标数据,再利用druid对每个粒度周期的500条目标数据进行扫描,再次过滤后将最终得到500条查询结果返回给用户。相比较于现有技术中采用的全量查询的方案,本实施例仅根据需要设置过滤条件中目标数据查询数量为500条,然后在druid中根据过滤条件仅对排序靠前的500条目标数据进行计算读取,极大的减轻了druid的计算压力。
上述实施例中,将多个子查询语句对应的目标数据维度汇总后作为新增条件加入子查询语句的过滤条件中的方法包括:
识别每个子查询语句对应的目标数据维度,当各子查询语句的目标数据维度一致,则取任一子查询语句的目标数据维度作为新增条件加入每个子查询语句的过滤条件中;当各子查询语句的目标数据维度不一致,则分别将各子查询语句的目标数据维度汇总合并后作为新增条件加入每个子查询语句的过滤条件中。
具体实施时,为了防止因第一周期和第二周期对应目标数据维度不一致,导致spark端无法根据druid基于第一周期获取的目标数据和基于第二周期获取的目标数据进行相应运算的问题发生,如第一周期对应的目标数据维度数为100,第二周期对应的目标数据维度数为150,此时需将第一周期和第二周期对应的目标数据维度数合并起来作为新增条件加入每个子查询语句的过滤条件中,以使合并后的目标数据维度能够覆盖第一周期和第二周期对应目标数据的维度。
上述实施例中,计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值的方法包括:
计算引擎根据每个子查询语句及其中的过滤条件,分别从相应数据源的对应存储片段中查询符合目标数据查询数量条件的目标数据并提取其中的维度值。
上述实施例中,经处理端计算后向用户返回查询结果的方法包括:
处理端根据各子查询语句返回的维度值,按照预设规则计算后向用户返回查询结果。例如,对于预设规则为增长率的计算,可将第一周期获取的维度值与第二周期获取的维度值相除,得到增长率结果。
上述实施例中,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
统计历史SQL查询语句中的热点数据源及其中的热点数据维度,并对热点数据维度对应的维值进行预提取,以备后续SQL查询语句的快速调用。
具体实施时,在执行SQL查询语句的过程中不断统计,将使用最频繁的数据源及它的维度字段,在查询低谷期时动态构建druid语句,并对该维度及维值进行预提取,类似像物化视图那样预存储起来,后面发现如果有相同数据源及维度维值查询需求,可以从该物化视图中快速提取,而不需要再发请求到druid来取相应的维度维值集合数据,以此实现快速调用。
上述实施例中,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
将每个子查询语句及对应的目标数据和其中的维度值在数据库中进行缓存,以在后续出现相同子查询语句时能够从数据库中快速调用。
具体实施时,当本次SQL查询语句查询结果出来后,可以将每个子查询语句及对应的目标数据和其中的维度值在数据库中进行缓存,存储在Hbase或其它缓存库中,之后再有相同查询时可以直接根据缓存结果修改执行计划,而不需要重新执行,具体来讲,若当前SQL查询语句中包括了历史周期的查询结果,可将当前SQL查询语句查询周期进行拆分,对其中包括的历史周期查询结果直接从缓存库索取,对其中不包括的历史周期的当前期从druid查询获取。如:已缓存了1号到20号的维度数据,如果当前查询是1号到30号的维度,则只需要下压21号到30号之间的粒度周期去查询druid,大大减小了druid的压力。
在得到当前期和历史期合并后的目标数据后,就可以开始整理SQL查询语句对应的子查询语句:
1、给子查询语句的group by维度字段进行排序;
2、给子查询语句需要计算的衍生指标进行排序;
3、将多个子查询语句对应的目标数据维度汇总后作为新增条件加入子查询语句的过滤条件;
整理好每个子查询语句后,将它转化成druid计算引擎的json语句,因为加上了过滤条件,此次子查询语句要查询的维度信息大于过滤条件。也就是说,druid无须扫描查询周期内的所有数据,也就不会发生熔断及查询超时异常问题,减小了druid的查询压力。
又由于druid返回的数据量是过滤后的,所以spark端也无须接收查询周期内的所有数据,减少了spark端的数据处理量,整体效率将大幅提升。
实施例二
本实施例提供一种SQL优化查询装置,包括:
语句解析单元,用于解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,所述UNION集合类型的查询语句包括多个子查询语句;
识别处理单元,用于在涉及的所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中;
查询单元,用于将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
与现有技术相比,本发明实施例提供的SQL优化查询装置的有益效果与上述实施例一提供的SQL优化查询方法的有益效果相同,在此不做赘述。
实施例三
本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述SQL优化查询方法的步骤。
与现有技术相比,本实施例提供的计算机可读存储介质的有益效果与上述技术方案提供的SQL优化查询方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种SQL优化查询方法,其特征在于,包括:
解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,所述UNION集合类型的查询语句包括多个子查询语句;
在涉及的所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中;
将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
2.根据权利要求1所述的方法,其特征在于,在所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期的方法包括:
提取每个所述子查询语句对应的查询周期,将各查询周期按照预设粒度平均拆分成多个粒度周期。
3.根据权利要求1或2所述的方法,其特征在于,将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中的方法包括:
识别每个子查询语句对应的目标数据维度,当各所述子查询语句的目标数据维度一致,则取任一所述子查询语句的目标数据维度作为新增条件加入每个所述子查询语句的过滤条件中;
当各所述子查询语句的目标数据维度不一致,则分别将各所述子查询语句的目标数据维度汇总合并后作为新增条件加入每个所述子查询语句的过滤条件中。
4.根据权利要求3所述的方法,其特征在于,所述UNION集合类型的查询语句至少包括第一周期子查询语句和第二周期子查询语句,所述过滤条件除所述新增条件之外还包括查询度量、维度排序和目标数据查询数量。
5.根据权利要求4所述的方法,其特征在于,计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值的方法包括:
计算引擎根据每个子查询语句及其中的过滤条件,分别从相应数据源的对应存储片段中查询符合所述目标数据查询数量条件的目标数据并提取其中的维度值。
6.根据权利要求5所述的方法,其特征在于,经处理端计算后向用户返回查询结果的方法包括:
处理端根据各子查询语句返回的所述维度值,按照预设规则计算后向用户返回查询结果。
7.根据权利要求1所述的方法,其特征在于,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
统计历史SQL查询语句中的热点数据源及其中的热点数据维度,并对热点数据维度对应的维值进行预提取,以备后续SQL查询语句的快速调用。
8.根据权利要求1所述的方法,其特征在于,在步骤将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果之后还包括:
将每个子查询语句及对应的目标数据和其中的维度值在数据库中进行缓存,以在后续出现相同子查询语句时能够从数据库中快速调用。
9.一种SQL优化查询装置,其特征在于,包括:
语句解析单元,用于解析SQL查询语句为UNION集合类型的查询语句时,统计目标数据所涉及存储片段的数量,所述UNION集合类型的查询语句包括多个子查询语句;
识别处理单元,用于在涉及的所述存储片段的数量大于阈值时,将所述子查询语句对应的查询周期拆分成多个粒度周期,以及将多个子查询语句对应的目标数据维度汇总后作为新增条件加入所述子查询语句的过滤条件中;
查询单元,用于将包含所述过滤条件的子查询语句下推至计算引擎并发读取每个粒度周期所对应的目标数据及其中的维度值,经处理端计算后向用户返回查询结果。
10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至8任一项所述方法的步骤。
CN202011048287.7A 2020-09-29 2020-09-29 Sql优化查询方法及装置 Active CN112286961B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011048287.7A CN112286961B (zh) 2020-09-29 2020-09-29 Sql优化查询方法及装置
CA3132004A CA3132004A1 (en) 2020-09-29 2021-09-27 Sql query optimization method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011048287.7A CN112286961B (zh) 2020-09-29 2020-09-29 Sql优化查询方法及装置

Publications (2)

Publication Number Publication Date
CN112286961A true CN112286961A (zh) 2021-01-29
CN112286961B CN112286961B (zh) 2022-11-18

Family

ID=74422478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011048287.7A Active CN112286961B (zh) 2020-09-29 2020-09-29 Sql优化查询方法及装置

Country Status (2)

Country Link
CN (1) CN112286961B (zh)
CA (1) CA3132004A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765286A (zh) * 2021-02-01 2021-05-07 广州海量数据库技术有限公司 一种基于关系数据库的查询方法及装置
CN113448983A (zh) * 2021-07-15 2021-09-28 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453732B (zh) * 2023-12-25 2024-03-01 智业软件股份有限公司 一种cdss医嘱数据查询优化方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095469A1 (en) * 2012-09-28 2014-04-03 Sap Ag Optimization of database query
CN110096489A (zh) * 2019-04-30 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询方法、***、装置及电子设备
CN110515973A (zh) * 2019-08-30 2019-11-29 上海达梦数据库有限公司 一种数据查询的优化方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095469A1 (en) * 2012-09-28 2014-04-03 Sap Ag Optimization of database query
CN110096489A (zh) * 2019-04-30 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询方法、***、装置及电子设备
CN110515973A (zh) * 2019-08-30 2019-11-29 上海达梦数据库有限公司 一种数据查询的优化方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765286A (zh) * 2021-02-01 2021-05-07 广州海量数据库技术有限公司 一种基于关系数据库的查询方法及装置
CN113448983A (zh) * 2021-07-15 2021-09-28 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品
CN113448983B (zh) * 2021-07-15 2024-01-30 中国银行股份有限公司 知识点处理方法、装置、服务器、介质及产品

Also Published As

Publication number Publication date
CN112286961B (zh) 2022-11-18
CA3132004A1 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
CN112286961B (zh) Sql优化查询方法及装置
CN109241093B (zh) 一种数据查询的方法、相关装置及数据库***
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US10380269B2 (en) Sideways information passing
CN108376143B (zh) 一种新型的olap预计算***及生成预计算结果的方法
EP2605158A1 (en) Mixed join of row and column database tables in native orientation
US8935233B2 (en) Approximate index in relational databases
WO2017019881A1 (en) Materializing expressions within in-memory virtual column units to accelerate analytic queries
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
CN110109923A (zh) 时序数据的存储方法、分析方法及装置
US9218394B2 (en) Reading rows from memory prior to reading rows from secondary storage
US20220358178A1 (en) Data query method, electronic device, and storage medium
CN105069117A (zh) 一种基于存储过程的数据流效率提升方法
Chambi et al. Optimizing druid with roaring bitmaps
US20170116242A1 (en) Evaluating sql expressions on dictionary encoded vectors
Le-Phuoc Operator-aware approach for boosting performance in RDF stream processing
CN110704472A (zh) 数据查询统计方法及装置
Alghazali et al. Development of Intelligent Tools for Detecting Resource-intensive Database Queries
Liu et al. Optimizing llm queries in relational workloads
CN110888909B (zh) 一种评估内容的数据统计处理方法及装置
CN112148719B (zh) 基于olap预计算模型的数据加工查询方法及装置
Xie et al. Cool, a COhort OnLine analytical processing system
CN113297270A (zh) 数据查询方法、装置、电子设备及存储介质
US10042942B2 (en) Transforms using column dictionaries
CN109684419B (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