CN111563101B - 执行计划优化方法、装置、设备及存储介质 - Google Patents
执行计划优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111563101B CN111563101B CN202010665381.0A CN202010665381A CN111563101B CN 111563101 B CN111563101 B CN 111563101B CN 202010665381 A CN202010665381 A CN 202010665381A CN 111563101 B CN111563101 B CN 111563101B
- Authority
- CN
- China
- Prior art keywords
- execution plan
- query statement
- processed
- historical
- 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
- 238000005457 optimization Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 20
- 238000001914 filtration Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
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为相关技术中处理数据库查询语句的示意图;
图3为本申请一实施例提供的执行计划优化方法的流程示意图;
图4为本申请一实施例提供的基于查询语句定义的超图的示意图;
图5为本申请一实施例提供的生成查询语句的特征数据的示意图;
图6为本申请一实施例提供的确定相似的历史查询语句及其对应组信息的示意图;
图7A为本申请一实施例提供的待处理查询语句的原始执行计划的示意图;
图7B为申请一实施例提供的相似历史查询语句的最终执行计划的示意图;
图7C为本申请一实施例提供的待处理查询语句的目标执行计划的示意图;
图8为本申请一实施例提供的执行计划优化装置的结构示意图;
图9为本申请一实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
相关技术中比较常用的执行计划优化方法,基于原始逻辑执行计划进行执行计划优化,具体的,是通过对原始逻辑执行计划进行一定变换得到候选执行计划的集合(即搜索空间),该搜索空间是针对数据库查询语句的所有候选执行计划的子集,并从该搜索空间中确定一个候选执行计划作为最终执行计划。然而,上述方式,存在命中最优逻辑执行计划的概率较低的问题。因此相关技术中亟需一种在能够提高最终执行计划命中最优逻辑执行计划的概率的执行计划优化方式。
基于类似于上文所述的实际技术需求,本申请提供的执行计划优化方法可以利用技术化的手段提高最终执行计划命中最优逻辑执行计划的概率。
下面通过一个示例性的应用场景具体说明本申请各个实施例提供的执行计划优化方法。
图1为本申请一实施例提供的数据库***的结构示意图。如图1所示,该***可以包括客户端11、数据库引擎12以及数据库(Database)13。
数据库13是建立在计算机存储设备上,用于存储和管理数据的仓库。数据库13例如可以是支持列式存储的数据库,即以列式存储架构来组织、存储和管理数据的仓库,例如列式数据库。当然,在其他实施例中,数据库13还可以为其他形式,本申请对此不做限定。
数据库引擎12是用于存储、处理和保护数据的核心服务,其任务包括处理与数据库13相关的事务,例如设计并创建数据库13,保存数据库13所需的各种列表和文档等,针对数据库13提供日常管理支持以优化数据库13的性能。
其中,为了便于处理与数据库13相关的事务,数据库引擎12与数据库13之间建立通信连接,该通信连接可以是有线或无线网络连接。可选的,在部署实现上,数据库引擎12与数据库13可以部署在同一物理设备上实现,也可以部署在不同物理设备上实现。当数据库引擎12与数据库13部署在不同物理设备上实现时,两者可以部署同一局域网内,也可以部署在不同局域网内。
如图1所示,该数据库***还包括:客户端11。其中,客户端11与数据库引擎12之间通信连接,该通信连接可以是有线或无线网络连接。可选的,客户端11可以与数据库引擎12处于同一局域网内,也可以处于不同局域网内。
客户端11可以看作是数据库13面向用户提供的交互接口,允许用户通过该客户端11访问数据库13。在需要访问数据库13时,客户端11可以向数据库引擎12发送数据库访问请求;数据库引擎12还可以响应客户端11的数据库访问请求对数据库13进行相应操作并向客户端11返回相应操作结果,从而实现数据库13中数据的查看、删除、修改、增加等。
在一种数据库查询场景中,客户端11可以向数据库引擎12发送数据库查询语句(以下简称为查询语句)。根据数据库13支持的数据库语言的不同,查询语句会有所不同,例如可以是SQL语句,也可以是Orcale语句,以下主要以查询语句是SQL语句为例进行举例说明。数据库引擎12主要根据查询语句对数据库13进行查询操作,并向客户端11返回查询结果。
相关技术中,如图2所示,针对客户端11发送的查询语句,数据库引擎12可以先生成查询语句的逻辑执行计划(为了便于描述,以下称为原始执行计划),具体的,可以对查询语句进行语法解析,将查询语句解析成一颗语法树,并基于解析得到的语法树生成查询语句的原始执行计划。之后,数据库引擎12可以基于原始执行计划进行执行计划的优化,获得查询语句的最终执行计划。然后,数据库引擎12可以将最终执行计划转换为物理执行计划。最后数据库引擎12可以执行转换得到的物理执行计划,通过执行物理执行计划可以得到查询语句的查询结果。
其中,在基于原始执行计划进行优化所采用的方式主要包括:对原始执行计划进行一定变换得到针对该原始执行计划的搜索空间(search space),并从搜索空间中确定一个候选执行计划作为最终执行计划。考虑到优化时长与优化效果的折中,针对一查询语句的搜索空间通常是该查询语句的所有候选执行计划的子集,例如,一查询语句可能存在成千上万或者甚至数百万可能的执行计划,针对该查询语句的搜索空间通常只包括该查询语句的部分可能的执行计划。
由于针对一查询语句的搜索空间是该查询语句的所有候选执行计划的子集,因此基于原始执行计划变换得到的搜索空间中较大概率会未包括最优逻辑执行计划,从而导致基于原始执行计划进行优化所得到的最终执行计划,较大概率会无法命中最优逻辑执行计划,从而导致存在最终执行计划命中最优逻辑执行计划的概率较低的问题。
本申请实施例中,通过基于与待处理查询语句相似的历史查询语句的最终执行计划,采用预设策略生成待处理查询语句的目标执行计划,并基于目标执行计划进行优化,得到待处理查询语句的最终执行计划,实现了在基于相似历史查询语句的最终执行计划的基础上,进一步优化得到待处理查询语句的最终执行计划,提高了待处理查询语句的最终执行计划命中最优逻辑执行计划的概率。
可以理解的是,待处理查询语句的目标执行计划的语义,与待处理查询语句的语义相同。
下面结合附图,对本申请的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图3为本申请一实施例提供的执行计划优化方法的流程示意图,本实施例的执行主体可以为部署图1中数据库引擎12的计算机设备。如图3所示,本实施例的方法可以包括:
步骤31,确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,所述至少一个历史特征数据与至少一个历史查询语句对应;
步骤32,基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划;
步骤33,基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划。
本申请实施例中,数据库引擎12在接收到客户端11发送的待处理查询语句情况下,可以先基于所述待处理查询语句的目标信息,生成所述待处理查询语句的特征数据。示例性的,所述目标信息可以包括:基于待处理查询语句定义的超图(hypergraph),和/或,特定算子的输入表的统计信息(为了区别于后续的统计信息,这里的统计信息记为第二统计信息)。其中,特定算子的输入表具体可以为存储于数据库中的数据库表的至少部分表。特定算子可以是逻辑执行计划中对于执行耗时影响较大的算子,示例性的,特定算子具体可以为连接(Join)算子。
以待处理查询语句为如下SQL语句(为了便于描述以下简称为SQL语句1)为例:
SELECT count(*)
FROM
lineitem l, orders o, customer c
WHERE
l.orderkey = o.orderkey
and c.custkey = o.custkey
and l.shipdate BETWEEN "1998-04-18" AND "1998-04-19"
and l.suppkey = 1009
and o.totalprice > 10。
将待处理查询语句中所涉及的每个表看作一条边,将表中的每个列看作一个点,可以得到基于待处理查询语句定义的超图,基于SQL语句1定义的超图可以如图4所示。参考图4,可以看出SQL语句1涉及3个数据库表,分别为名称为lineitem(简称L1)的表,名称为orders(简称O1)的表,以及名称为customer(简称C1)的表。其中,表L1和表O1共有的实心点表示表L1和表O1均包括列名称为orderkey的列,表C1和表O1共有的实心点表示表C1和表O1均包括列名称为custkey的列。需要说明的是,图4中三个表的列数量仅为举例。
在特定算子为Join算子情况下,SQL语句1中Join算子的输入表具体可以包括名称为L1的表和名称为O1的表经过滤算子过滤后所得到的表,Join算子的输入表还包括名称为C1的表。
所述第二统计信息具体可以为影响特定算子执行耗时的统计信息。所述第二统计信息可以为输入表所涉及的所有统计信息中的至少部分信息,所述第二统计信息例如可以为表的大小、行数(row)、不同值的数目(number of distinct value,NDV)、直方图(histogram)、最大值(max)、最小值(min)等。
本申请实施例中,可以基于待处理查询语句的目标信息,采用预设的编码(Encoder)算法,生成待处理查询语句的特征数据。编码算法例如可以为类似query2vec,graph2vec的算法,当然,在其他实施例中,编码算法还可以为其他类型算法,本申请对此不做限定。
以向量形式表示特征数据为例,如图5所示,基于目标信息生成特征数据的方法示意可以如图5所示。参考图5,目标信息可以包括图4所示的超图、输入表的第二统计信息可以包括custkey等的最大值、最小值、不同值的数目(NDV)以及直方图。基于SQL语句1的目标信息可以生成维度为d的特征向量(v1,v2,……,vd),vi,i等于1至d,表示特征向量的第i个元素。需要说明的是,图5中SQL语句1的目标信息仅为举例。
本申请实施例中,在生成待处理查询语句的特征数据之后,可以确定与待处理查询语句的特征数据相似的前至少一个历史特征数据。其中,所述至少一个历史特征数据与至少一个历史查询语句对应,所述历史特征数据是对应历史查询语句的特征数据。需要说明的是,所述至少一个历史特征数据可以对应至少一个历史查询语句,所述至少一个历史特征数据可以对应至少一个最终逻辑执行计划。
需要说明的是,关于生成历史查询语句的历史特征数据的具体方式,与生成待处理查询语句的特征数据的方式类似,在此不再赘述。
在一个实施例中,可以基于最近邻法,确定与待处理查询语句的特征数据相似的前至少一个历史特征数据。假设特征数据是在d维空间里面的长度为1的向量且相似度为欧拉距离,则可以利用比较高效的局部敏感哈希(locality sensitive hashing,LSH)进行最近邻的查询,当然,在其他实施例中,也可以通过其他方式确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,本申请对此不做限定。
在确定出与待处理查询语句的特征数据相似的前至少一个历史特征数据之后,可以基于所述历史特征数据所对应历史查询语句的最终逻辑执行计划,得到所述待处理查询语句的目标执行计划。
在一个实施例中,所述至少一个历史查询语句可以与至少一组数据对应;所述至少一组数据中每组数据可以包括对应历史查询语句的历史特征数据,以及对应历史查询语句的最终执行计划。基于此,可以从与所述待处理查询语句相似的历史查询数据的对应组数据中,获得所述历史查询数据所对应历史查询语句的最终执行计划。
可以理解的是,所述历史查询语句的最终执行计划是指针对历史查询语句的逻辑执行计划的优化结果。在一个实施例中,所述历史查询语句的最终执行计划可以是基于传统技术中的优化方式所获得的优化结果。
在另一个实施例中,所述历史查询语句的最终执行计划可以是基于本申请提供的优化方式所获得的优化结果。从而,在获得所述待处理查询语句的最终执行计划之后,还可以将所述待处理查询语句的特征数据,以及所述待处理查询语句的最终执行计划作为一组数据进行存储,由此能够实现在基于本申请实施例所提供方式优化得到的最终执行计划的基础上,进一步对待处理查询语句进行执行计划的优化,有利于进一步提高待处理查询语句的最终执行计划命中最优逻辑执行计划的概率。
本申请实施例中,在确定出与待处理查询语句的特征数据相似的历史特征数据之后,可以基于历史特征数据对应历史查询语句的最终执行计划,采用预设策略生成待处理查询语句的目标执行计划。需要说明的是,目标执行计划的个数可以为一个或多个。
在一个实施例中,可以直接基于至少一个历史特征数据对应的至少一个最终执行计划中任意一个或多个最终执行计划,得到待处理查询语句的目标执行计划。可以理解的是,本申请实施例中待处理查询语句的目标执行计划与所述待处理请求的原始执行计划不同,所述待处理查询语句的原始执行计划是指基于待处理查询语句解析得到的语法树获得的逻辑执行计划,而所述待处理查询语句的目标执行计划是指基于与待处理查询语句相似的历史查询语句的最终执行计划生成的逻辑执行计划。
在另一个实施例中,在至少一个历史特征数据对应多个最终执行计划的情况下,可以确定出该多个最终执行计划中执行代价(cost)小的前至少一个最终执行计划,并基于所述至少一个最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划。从而实现基于执行代价小的前至少一个最终执行计划,生成待处理查询语句的目标执行计划,由于执行代价越小可以表示逻辑执行计划越优,因此通过基于执行代价小的前至少一个最终执行计划,生成待处理查询语句的目标执行计划,能够得到待处理查询语句更优的目标执行计划,进而在待处理查询语句更优的目标执行计划的基础上进行优化,有利于进一步提高最终逻辑执行计划命中最优逻辑执行计划的概率。
类似的,所述至少一个历史查询语句可以与至少一组数据对应;所述至少一组数据中每组数据可以包括对应历史查询语句的历史特征数据,对应历史查询语句的最终执行计划,以及执行对应历史查询语句的最终执行计划的执行代价。基于此,可以从与所述当前查询语句相似的历史查询数据的对应组数据中,获得目标历史查询数据所对应历史查询语句的最终执行计划、以及目标历史查询数据所对应历史查询语句的最终执行计划的执行代价。
例如,以待处理查询语句为前述的SQL语句1,SQL语句1的特征数据为图5所得到的特征向量(v1,v2,……,vd)为例,如图6所示,可以在特征空间中,确定特征向量(v1,v2,……,vd)对应的特征点A的最近邻特征点。以最近邻特征点为特征向量(u1,u2,……,ud)对应的特征点B为例,如图6所示,可以获得特征点B对应历史查询语句的三元组,该三元组可以包括对应历史查询的特征向量、最终执行计划以及执行代价(例如3.5秒)。
其中,特征点B对应历史查询语句例如可以为如下所示的SQL语句2:
SELECT o.orderkey
FROM
lineitem l, orders o, customer c
WHERE
l.orderkey = o.orderkey
and c.custkey = o.custkey
and o.shippriority = 0
and c.nationkey = 523。
类似的,本申请实施例的方法还可以包括:在执行所述待处理查询语句的最终执行计划之后,将所述待处理查询语句的特征数据、所述待处理查询语句的最终执行计划以及所述最终执行计划的执行代价作为一组数据进行存储。由此有利于进一步提高最终逻辑执行计划命中最优逻辑执行计划的概率。
本申请实施例中,所述预设策略具体可以是能够基于最终执行计划,获得针对待处理查询语句的与最终执行计划优化方式一致的逻辑执行计划的策略。示例性的,所述预设策略可以包括:保持最终执行计划所表征的目标关系的策略。需要说明的是,基于最终执行计划采用预设策略所生成的待处理查询语句的目标执行计划的语义与待处理查询语句的语义相同,且目标执行计划中所表征的目标关系与最终计划所表征的目标关系一致,即目标执行计划保持了最终执行计划所表征的目标关系。
所述目标关系可以是能够表征最终执行计划所采用的优化方式的关系,通过采用保持最终执行计划所表征的目标关系的策略所生成的目标执行计划,能够保持最终执行计划所表征的目标关系,从而使得基于所生成的待处理查询语句的目标逻辑执行计划的优化方式能够与相似的历史查询语句的最终逻辑执行计划的优化方式一致。
示例性的,所述目标关系可以包括特定算子在逻辑执行计划中的位置关系,和/或,针对统计信息(为了区别于前述的统计信息,这里的统计信息即为第一统计信息)所述特定算子的输入表在逻辑执行计划中的位置关系。其中,特定算子可以是在逻辑执行计划中对执行耗时影响较大的算子,示例性的,特定算子具体可以为连接算子。
所述第一统计信息具体可以为影响特定算子执行耗时的统计信息。所述第一统计信息可以为输入表所涉及的所有统计信息中的至少部分信息,所述第一统计信息例如可以为表的大小、直方图(histogram)等。所述第一统计信息与前述第二统计信息可以为相同的统计信息,或者也可以为不同的统计信息。
需要说明的是,当第一统计信息包括多个信息情况下,多个信息之间可以存在一定的优先级关系,优先级越高的信息可以表示其对特定算子的执行耗时影响越大。例如可以先基于优先级高的信息确定输入表的位置,如果优先级高的信息无法区分输入表的位置,进一步的可以基于优先级低的信息区分输入表的位置。
在一个实施例中,所述基于历史查询语句的最终执行计划,采用预设策略生成待处理查询语句的目标执行计划,具体可以包括:基于历史查询语句的最终执行计划,采用预设策略修改待处理查询语句的原始执行计划,以生成待处理查询语句的目标执行计划。
或者,在另一个实施例中,所述基于历史查询语句的最终执行计划,采用预设策略生成待处理查询语句的目标执行计划,具体可以包括:基于历史查询语句的最终执行计划以及待处理查询语句的原始执行计划,采用预设策略修改历史查询语句的最终执行计划,以生成待处理查询语句的目标执行计划。
以待处理查询语句为前述的SQL语句1为例,所述待处理查询语句的原始执行计划例如可以如图7A所示。参考图7A,SQL语句1的原始执行计划中,先扫描(TableScan)并过滤(Filter)名称为L1和名称为O1的表。之后,将过滤后的L1作为分布式(Replicated)连接(Join)的左表,将过滤后的O1作为连接的右表进行连接,并将连接结果作为上一级哈希(hash)连接的左表。然后,扫描名称为C1的表,并将扫描结果作为上一级哈希连接的右表进一步进行连接。最后,合并(Aggregate)得到最终的查询结果。需要说明的是,关于分布式连接以及哈希连接的具体内容,可以参见相关技术中的相关描述,在此不再赘述。图7A中“合并”节点的上一级节点(即“输出”节点)是SQL语句1的原始执行计划的根(root)节点。
以与SQL语句1的特征数据相似的历史特征数据对应的历史查询语句是SQL语句2为例,SQL语句2的最终执行计划例如可以如图7B所示。参考图7B,SQL语句2的最终执行计划中,先扫描并过滤名称为O1和名称为C1的表。之后,将过滤后的O1作为分布式连接的左表,将过滤后的C1作为分布式连接的右表进行连接,并将连接结果作为上一级哈希连接的右表。然后,扫描名称为L1的表,并将扫描结果作为上一级哈希连接的左表进一步进行连接。需要说明的是,图7B中“哈希连接”节点的上一级节点(即“输出”节点)是SQL语句2的最终执行计划的根节点。
假设目标关系包括连接算子在逻辑执行计划中的位置关系,则基于图7B所示的最终执行计划所生成的目标执行计划可以如图7C所示。参考图7C,与图7B所示的针对连接算子位置的优化方式一致,图7C中,也是第一级连接(即分区(partitioned)连接)的左表为扫描输入的表,第一级连接的右表为下一级连接(即分布式连接)所得到的表,且分布式连接的左表和右表分别是扫描过滤后得到的表。另外,由于SQL语句1中名称为C1的表是不需要过滤的,因此,如图7C所示,分区连接的左表即为扫描输入的名称为C1的表。需要说明的是,关于分区连接的具体内容,可以参见相关技术中的相关描述,在此不再赘述。图7C中“合并”节点的上一级节点(即“输出”节点)是SQL语句1的目标执行计划的根节点。
进一步的,假设目标关系还包括:针对表的大小连接算子的输入表在逻辑执行计划中的位置关系,且图7B中分布式连接的左表(即针对名称为O1的表进行过滤后所得到的表)的大小大于分布式连接的右表(即针对名称为C1的表进行过滤后所得到的表),则如果SQL语句1中针对名称为O1的表过滤后的表的大小,大于针对名称为L1的表过滤后的表的大小,参考图7C,与图7B所示的针对连接算子针对输入表的大小的优化方式一致,图7C中,也是较大的表(针对名称为O1的表进行过滤后所得到的表)为分布式连接的左表,较小的表(针对名称为L1的表进行过滤后所得到的表)为分布式连接的右表。
需要说明的是,图7A-图7C所示的执行计划仅为举例。
在生成待处理语句的目标执行计划之后,可以基于目标执行计划进行优化,以得到待处理语句的最终逻辑执行计划。
在一个实施例中,可以基于目标逻辑执行计划,采用传统技术中的变换策略,对目标执行计划进行变换,得到针对待处理查询语句的搜索空间,并从所述搜索空间中选择所述待处理查询语句的最终执行计划。
在另一个实施例中,可以基于目标执行计划,采用保持所述目标关系中至少部分关系的变换策略,得到针对所述待处理查询语句的搜索空间,并从所述搜索空间中选择所述待处理查询语句的最终执行计划。本申请实施例中,通过保持所述目标关系中至少部分关系的变换策略,得到针对所述待处理查询语句的搜索空间,能够进一步限制搜索空间中的候选执行计划均保持至少部分关系,从而有利于减小搜索空间,减少优化时长。
在得到待处理查询语句的最终执行计划之后,可以将所述待处理查询语句的最终执行计划转换为物理执行计划,并执行所述物理执行计划,以得到针对所述待处理查询语句的查询结果。由于本申请实施例所得到的最终执行计划命中最优逻辑执行计划的概率更高,在最终执行计划命中最优逻辑执行计划时,执行最终执行计划对应物理执行计划的执行代价最低,因此,在通过将待处理查询语句的最终执行计划转换为物理执行计划,并执行所述物理执行计划,能够降低执行计划所需要的执行代价。
在执行所述物理执行计划之后,还可以根据所述物理执行计划的执行过程中所得到的数据,更新所述待处理查询语句的所述最终执行计划所涉及数据的统计信息,以实现统计信息的及时更新。
本申请实施例提供的执行计划优化方法,通过基于与待处理查询语句相似的历史查询语句的最终执行计划,采用预设策略生成待处理查询语句的目标执行计划,并基于目标执行计划进行优化,得到待处理查询语句的最终执行计划,实现了在基于相似历史查询语句的最终执行计划的基础上,进一步优化得到待处理查询语句的最终执行计划。由于特征相似的历史查询语句和待处理查询语句两者的查询存在较高的相似度,且相似历史查询语句的最终执行计划已经是较优(或者最优)的优化结果,因此基于相似历史查询语句的最终执行计划采用一定的策略能够生成针对待处理查询语句的较优(或者最优)的逻辑执行计划(即,目标执行计划),进一步基于较优或最优的逻辑执行计划进一步进行优化,能够得到更优(或者最优)的逻辑执行计划(即,最终执行计划),从而提高了命中最优逻辑执行计划的概率。
图8为本申请一实施例提供的执行计划优化装置的结构示意图;参考附图8所示,本实施例提供了一种执行计划优化装置,该装置可以执行上述的执行计划优化方法,具体的,该执行计划优化装置可以包括:
确定模块81,用于确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,所述至少一个历史特征数据与至少一个历史查询语句对应;
生成模块82,用于基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划;
优化模块83,用于基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划。
可选的,所述预设策略包括保持最终执行计划所表征的目标关系的策略。
可选的,所述目标关系包括特定算子在逻辑执行计划中的位置关系,和/或,针对第一统计信息所述特定算子的输入表在逻辑执行计划中的位置关系。
可选的,所述特定算子包括连接算子。
可选的,所述优化模块83,具体用于:
基于所述目标执行计划,采用保持所述目标关系中至少部分关系的变换策略,得到针对所述待处理查询语句的搜索空间;
从所述搜索空间中选择作为所述待处理查询语句的最终执行计划。
可选的,所述至少一个历史特征数据对应的最终执行计划的个数为多个;所述确定模块81,还用于确定出多个最终执行计划中执行代价小的前至少一个最终执行计划;
所述生成模块,具体用基于所述至少一个最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划。
可选的,所述至少一个历史查询语句与至少一组数据对应;所述至少一组数据中每组数据包括对应历史查询语句的历史特征数据,对应历史查询语句的最终执行计划,以及执行对应历史查询语句的最终执行计划的执行代价。
可选的,所述获取模块还用于:
在执行所述待处理查询语句的最终执行计划之后,将所述待处理查询语句的特征数据、所述待处理查询语句的最终执行计划以及所述最终执行计划的执行代价作为一组数据进行存储。
可选的,所述装置还包括:特征生成模块,用于基于所述待处理查询语句的目标信息,生成所述待处理查询语句的特征数据。
可选的,所述目标信息包括:基于待处理查询语句定义的超图,和/或,针对特定算子的输入表的第二统计信息。
可选的,所述装置还包括:执行模块,用于将所述待处理查询语句的最终执行计划转换为物理执行计划,并执行所述物理执行计划,以得到针对所述待处理查询语句的查询结果。
可选的,所述装置还包括:更新模块,用于根据所述物理执行计划的执行过程中所得到的数据,更新所述待处理查询语句的所述最终执行计划所涉及数据的统计信息。
图8所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
在一个可能的实现中,图8所示执行计划优化装置的结构可实现为一计算机设备。如图9所示,该计算机设备可以包括:处理器91和存储器92。其中,存储器92用于存储支持计算机设备执行上述图3所示实施例中提供的执行计划优化方法的程序,处理器91被配置为用于执行存储器92中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器91执行时能够实现如下步骤:
确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,所述至少一个历史特征数据与至少一个历史查询语句对应;
基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划;
基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划。
可选的,处理器91还用于执行前述图3所示实施例中的全部或部分步骤。
其中,计算机设备的结构中还可以包括通信接口93,用于计算机设备与其他设备或通信网络通信。
另外,本申请实施例提供了一种计算机存储介质,用于储存计算机设备所用的计算机软件指令,其包含用于执行上述图3所示方法实施例中执行计划优化方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对传统技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (13)
1.一种执行计划优化方法,包括:
确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,所述至少一个历史特征数据与至少一个历史查询语句对应,特征数据是基于查询语句的目标信息生成,所述目标信息包括基于所述查询语句定义的超图,和/或,针对特定算子的输入表的统计信息;
基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划,所述预设策略包括保持最终执行计划所表征的目标关系的策略;
基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划。
2.根据权利要求1所述的方法,所述目标关系包括特定算子在逻辑执行计划中的位置关系,和/或,针对第一统计信息所述特定算子的输入表在逻辑执行计划中的位置关系。
3.根据权利要求2所述的方法,所述特定算子包括连接算子。
4.根据权利要求1所述的方法,所述基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划,包括:
基于所述目标执行计划,采用保持所述目标关系中至少部分关系的变换策略,得到针对所述待处理查询语句的搜索空间;
从所述搜索空间中选择作为所述待处理查询语句的最终执行计划。
5.根据权利要求1所述的方法,所述至少一个历史特征数据对应的最终执行计划的个数为多个;所述方法还包括:
确定出多个最终执行计划中执行代价小的前至少一个最终执行计划;
所述基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划,包括:
基于所述至少一个最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划。
6.根据权利要求5所述的方法,所述至少一个历史查询语句与至少一组数据对应;所述至少一组数据中每组数据包括对应历史查询语句的历史特征数据,对应历史查询语句的最终执行计划,以及执行对应历史查询语句的最终执行计划的执行代价。
7.根据权利要求6所述的方法,所述方法还包括:
在执行所述待处理查询语句的最终执行计划之后,将所述待处理查询语句的特征数据、所述待处理查询语句的最终执行计划以及所述最终执行计划的执行代价作为一组数据进行存储。
8.根据权利要求1所述的方法,所述方法还包括:
基于所述待处理查询语句的目标信息,生成所述待处理查询语句的特征数据。
9.根据权利要求1所述的方法,所述方法还包括:
将所述待处理查询语句的最终执行计划转换为物理执行计划,并执行所述物理执行计划,以得到针对所述待处理查询语句的查询结果。
10.根据权利要求9所述的方法,所述方法还包括:
根据所述物理执行计划的执行过程中所得到的数据,更新所述待处理查询语句的所述最终执行计划所涉及数据的统计信息。
11.一种执行计划优化装置,包括:
确定模块,用于确定与待处理查询语句的特征数据相似的前至少一个历史特征数据,所述至少一个历史特征数据与至少一个历史查询语句对应,特征数据是基于查询语句的目标信息生成,所述目标信息包括基于所述查询语句定义的超图,和/或,针对特定算子的输入表的统计信息;
生成模块,用于基于所述历史特征数据所对应历史查询语句的最终执行计划,采用预设策略生成所述待处理查询语句的目标执行计划,所述预设策略包括保持最终执行计划所表征的目标关系的策略;
优化模块,用于基于所述目标执行计划进行优化,得到所述待处理查询语句的最终执行计划。
12.一种计算机设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包含至少一段代码,所述至少一段代码可由计算机执行,以控制所述计算机执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665381.0A CN111563101B (zh) | 2020-07-11 | 2020-07-11 | 执行计划优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665381.0A CN111563101B (zh) | 2020-07-11 | 2020-07-11 | 执行计划优化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563101A CN111563101A (zh) | 2020-08-21 |
CN111563101B true CN111563101B (zh) | 2020-12-29 |
Family
ID=72070112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010665381.0A Active CN111563101B (zh) | 2020-07-11 | 2020-07-11 | 执行计划优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563101B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597182B (zh) * | 2020-12-16 | 2024-07-12 | 锦上花(北京)科技有限公司 | 数据查询语句的优化方法、装置、终端及存储介质 |
CN113656437B (zh) * | 2021-07-02 | 2023-10-03 | 阿里巴巴新加坡控股有限公司 | 用于预测参照执行代价稳定度的模型构建方法 |
CN113918160A (zh) * | 2021-09-02 | 2022-01-11 | 杭州欧若数网科技有限公司 | 图数据库执行计划生成及调度的方法、***、装置和介质 |
CN113849520B (zh) * | 2021-09-30 | 2024-05-28 | 平安科技(深圳)有限公司 | 异常sql的智能识别方法、装置、电子设备及存储介质 |
CN113961586A (zh) * | 2021-10-20 | 2022-01-21 | 阿里云计算有限公司 | 一种sql语句的控制方法及装置 |
CN114443691B (zh) * | 2022-01-18 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 数据库查询调优方法、***及计算机设备 |
CN114238286B (zh) * | 2022-02-28 | 2022-08-05 | 连连(杭州)信息技术有限公司 | 一种数据仓库数据处理方法、装置、电子设备及存储介质 |
CN115033595B (zh) * | 2022-08-10 | 2022-11-22 | 杭州悦数科技有限公司 | 基于超级节点的查询语句处理方法、***、装置和介质 |
CN118277397A (zh) * | 2022-12-29 | 2024-07-02 | 华为技术有限公司 | 确定执行计划的方法、装置以及计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729379A (zh) * | 2012-10-16 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 结构化查询语言程序的计算方法、调整方法和服务器 |
CN104216894A (zh) * | 2013-05-31 | 2014-12-17 | 国际商业机器公司 | 用于数据查询的方法和*** |
CN105701128A (zh) * | 2014-11-28 | 2016-06-22 | 华为技术有限公司 | 一种查询语句的优化方法和装置 |
US9430524B1 (en) * | 2011-09-29 | 2016-08-30 | Pivotal Software, Inc. | RLE-aware optimization of SQL queries |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092970A (zh) * | 2013-01-24 | 2013-05-08 | 华为技术有限公司 | 一种数据库操作方法及设备 |
CN103793467B (zh) * | 2013-09-10 | 2017-01-25 | 浙江鸿程计算机***有限公司 | 一种基于超图和动态规划的大数据实时查询优化方法 |
CN111221840B (zh) * | 2018-11-23 | 2023-05-30 | 阿里云计算有限公司 | 数据处理方法及装置、数据缓存方法、存储介质、*** |
-
2020
- 2020-07-11 CN CN202010665381.0A patent/CN111563101B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430524B1 (en) * | 2011-09-29 | 2016-08-30 | Pivotal Software, Inc. | RLE-aware optimization of SQL queries |
CN103729379A (zh) * | 2012-10-16 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 结构化查询语言程序的计算方法、调整方法和服务器 |
CN104216894A (zh) * | 2013-05-31 | 2014-12-17 | 国际商业机器公司 | 用于数据查询的方法和*** |
CN105701128A (zh) * | 2014-11-28 | 2016-06-22 | 华为技术有限公司 | 一种查询语句的优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111563101A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111563101B (zh) | 执行计划优化方法、装置、设备及存储介质 | |
US10574752B2 (en) | Distributed data storage method, apparatus, and system | |
US7680821B2 (en) | Method and system for index sampled tablescan | |
US20050240570A1 (en) | Partial query caching | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
US11281645B2 (en) | Data management system, data management method, and computer program product | |
US8812492B2 (en) | Automatic and dynamic design of cache groups | |
US20210149924A1 (en) | Clustering of data records with hierarchical cluster ids | |
CN105096174A (zh) | 一种交易匹配方法以及*** | |
US20210263903A1 (en) | Multi-level conflict-free entity clusters | |
CN110263104B (zh) | Json字符串处理方法及装置 | |
US10853033B1 (en) | Effectively fusing database tables | |
CN111125199B (zh) | 一种数据库访问方法、装置及电子设备 | |
CN117033424A (zh) | 慢sql语句的查询优化方法、装置和计算机设备 | |
US20170337245A1 (en) | Extreme value computation | |
CN111078705A (zh) | 基于Spark平台建立数据索引方法及数据查询方法 | |
CN108549666B (zh) | 一种数据表的排序方法、装置、设备及存储介质 | |
US11531666B1 (en) | Indexing partitions using distributed bloom filters | |
US8548980B2 (en) | Accelerating queries based on exact knowledge of specific rows satisfying local conditions | |
US20230153286A1 (en) | Method and system for hybrid query based on cloud analysis scene, and storage medium | |
CN116610694A (zh) | 一种基于列和访问语句关系的规则校验方法和*** | |
US20220342887A1 (en) | Predictive query processing | |
US8290935B1 (en) | Method and system for optimizing database system queries | |
CN103891244B (zh) | 一种进行数据存储和检索的方法及装置 | |
CN111666347B (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 |