一种关系型数据的查询优化方法及装置制造方法及图纸

技术编号:36368719 阅读:11 留言:0更新日期:2023-01-18 09:26
本发明专利技术提供一种关系型数据的查询优化方法及装置。该方法包括:确定关系型数据的动态分析特征语法树;基于动态分析特征语法树中的动态性能数据及相应的权重分数,确定执行计划中执行动作对应的最优代价,并得到执行计划的最优代价;其中,执行计划是结构化查询语句在数据库中的执行过程或访问路径,执行计划包含至少一个所述执行动作;基于执行计划的最优代价,判断结构化查询语句的逻辑执行计划是否最优;若否,则根据所述动态分析特征语法树,对所述逻辑执行计划中非最优的执行动作对应的目标结构化查询语句进行优化。采用本发明专利技术方法,基于代价差别确定需要优化的结构化查询语句,从而实现针对性的优化,提高查询数据优化的精度和效率。度和效率。度和效率。

【技术实现步骤摘要】
一种关系型数据的查询优化方法及装置


[0001]本专利技术涉及计算机应用
,具体涉及一种关系型数据的查询优化方法和装置。另外,还涉及一种电子设备及处理器可读存储介质。

技术介绍

[0002]近年来,随着互联网技术的快速发展,基于数据库实现的应用越来越多。在数据库工作过程中,通常需要对数据库执行的SQL(Structured Query Language,结构化查询语言)查询语句进行优化,从而避免性能较差的结构化查询查询语句进入系统,使得数据库的性能和稳定性降低。
[0003]结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统中存储的数据。结构化查询语言能够允许用户在高层数据结构上工作。其不要求用户指定数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。同时,结构化查询语言语句可以嵌套,从而使其具有极大的灵活性和强大的功能。然而,现有技术中针对结构化查询语句的优化处理方式流程较为单一,且缺少针对性,导致查询数据优化处理稳定性和效率较低。因此,如何设计一种稳定、高效的查询数据优化处理方案成为亟待解决的难题。

技术实现思路

[0004]为此,本专利技术提供一种关系型数据的查询优化方法及装置,以解决现有技术存在的数据查询优化处理方案针对性较差,导致对查询数据的优化效率和准确性降低的问题。
[0005]第一方面,本专利技术提供一种关系型数据的查询优化方法,包括:
[0006]确定关系型数据的动态分析特征语法树;
[0007]基于所述动态分析特征语法树中的动态性能数据以及相应的权重分数,确定执行计划中执行动作对应的最优代价,并得到所述执行计划的最优代价;其中,所述执行计划是结构化查询语句在数据库中的执行过程或访问路径,所述执行计划包含至少一个所述执行动作;
[0008]基于所述执行计划的最优代价,判断结构化查询语句的逻辑执行计划是否最优;若否,则根据所述动态分析特征语法树,对所述逻辑执行计划中非最优的执行动作对应的目标结构化查询语句进行优化。
[0009]在一个实施例中,所述确定关系型数据的动态分析特征语法树,具体包括:
[0010]获取对目标数据库进行查询的结构化查询语句;
[0011]对所述结构化查询语句进行分析,确定初始动态分析特征语法树;其中,所述结构化查询语句为关系型数据;
[0012]提取所述目标数据库对应的动态性能数据;所述动态性能数据包含动态统计数据和动态数据词典;其中,所述动态统计数据包含所述目标数据库对应的区分度、平均行长以
及数据量;
[0013]基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树。
[0014]在一个实施例中,基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树,具体包括:
[0015]将所述动态性能数据以及相应的权重分数挂载到所述初始动态分析特征语法树的叶子节点上,作为所述叶子节点的属性,得到关系型数据的动态分析特征语法树;其中,所述权重分数为所述动态性能数据中各个动态数据分别对应的权重分数。
[0016]在一个实施例中,所述的关系型数据的查询优化方法,还包括:
[0017]获取初始结构化查询语句的逻辑执行计划,并确定所述逻辑执行计划的代价;
[0018]判断所述逻辑执行计划的代价是否高于所述执行计划的最优代价,若是,则确定所述逻辑执行计划中代价高于最优代价对应的执行动作,将所述执行动作对应的执行语句作为所述初始结构化查询语句中待优化的结构化查询语句,并基于所述动态分析特征语法树中包含的动态性能数据以及相应的权分数对所述待优化的执行语句进行优化;其中,所述执行语句为待执行的结构化查询语句。
[0019]在一个实施例中,所述的关系型数据的查询优化方法,还包括:在对所述待优化的执行语句进行优化之后,基于所述执行动作对应的优化后的执行语句,确定所述执行动作对应的审核规则并存储;其中,所述审核规则用于对后续目标结构化查询语句进行审核以及优化。
[0020]在一个实施例中,基于所述动态分析特征语法树中的动态性能数据以及相应的权重分数,确定执行计划中执行动作对应的最优代价,并得到所述执行计划的最优代价,具体包括:
[0021]基于所述动态分析特征语法树中叶子节点对应的各个动态数据的权重分,按照所述权重分数对所述执行计划中每个执行动作包括的动态数据进行代价加权,确定所述每个执行动作对应的最优代价,并将所述每个执行动作的最优代价相加作为所述执行计划的最优代价。
[0022]在一个实施例中,根据所述动态分析特征语法树,对所述逻辑执行计划中非最优的执行动作对应的目标结构化查询语句进行优化,具体包括:
[0023]根据所述动态分析特征语法树中的动态数据,对所述目标结构化查询语句进行优化,并确定优化语句对应的实际代价,直至所述优化语句对应的实际代价与所述执行计划的最优代价之间的差值小于预设的阈值;所述优化语句为优化后的执行语句。
[0024]第二方面,本专利技术还提供一种关系型数据的查询优化装置,包括:
[0025]语法树确定单元,用于确定关系型数据的动态分析特征语法树;
[0026]执行计划代价估计单元,用于基于所述动态分析特征语法树中的动态性能数据以及相应的权重分数,确定执行计划中执行动作对应的最优代价,并得到所述执行计划的最优代价;其中,所述执行计划是结构化查询语句在数据库中的执行过程或访问路径,所述执行计划包含至少一个所述执行动作;
[0027]查询数据优化单元,用于基于所述执行计划的最优代价,判断结构化查询语句的逻辑执行计划是否最优;若否,则根据所述动态分析特征语法树,对所述逻辑执行计划中非
最优的执行动作对应的目标结构化查询语句进行优化。
[0028]在一个实施例中,所述语法树确定单元,具体用于:
[0029]获取对目标数据库进行查询的结构化查询语句;
[0030]对所述结构化查询语句进行分析,确定初始动态分析特征语法树;其中,所述结构化查询语句为关系型数据;
[0031]提取所述目标数据库对应的动态性能数据;所述动态性能数据包含动态统计数据和动态数据词典;其中,所述动态统计数据包含所述目标数据库对应的区分度、平均行长以及数据量;
[0032]基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树。
[0033]在一个实施例中,基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树,具体包括:
[0034]将所述动态性能数据以及相应的权重分数挂载到所述初始动态分析特征语法树的叶子节点上,作为所述叶子节点的属性,得到关系型数据的动态分析特征语法树;其中,所述权重分数为所述动态性能数据中各个动态本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种关系型数据的查询优化方法,其特征在于,包括:确定关系型数据的动态分析特征语法树;基于所述动态分析特征语法树中的动态性能数据以及相应的权重分数,确定执行计划中执行动作对应的最优代价,并得到所述执行计划的最优代价;其中,所述执行计划是结构化查询语句在数据库中的执行过程或访问路径,所述执行计划包含至少一个所述执行动作;基于所述执行计划的最优代价,判断结构化查询语句的逻辑执行计划是否最优;若否,则根据所述动态分析特征语法树,对所述逻辑执行计划中非最优的执行动作对应的目标结构化查询语句进行优化。2.根据权利要求1所述的关系型数据的查询优化方法,其特征在于,所述确定关系型数据的动态分析特征语法树,具体包括:获取对目标数据库进行查询的结构化查询语句;对所述结构化查询语句进行分析,确定初始动态分析特征语法树;其中,所述结构化查询语句为关系型数据;提取所述目标数据库对应的动态性能数据;所述动态性能数据包含动态统计数据和动态数据词典;其中,所述动态统计数据包含所述目标数据库对应的区分度、平均行长以及数据量;基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树。3.根据权利要求2所述的关系型数据的查询优化方法,其特征在于,基于所述动态性能数据和所述初始动态分析特征语法树,构建所述关系型数据的动态分析特征语法树,具体包括:将所述动态性能数据以及相应的权重分数挂载到所述初始动态分析特征语法树的叶子节点上,作为所述叶子节点的属性,得到关系型数据的动态分析特征语法树;其中,所述权重分数为所述动态性能数据中各个动态数据分别对应的权重分数。4.根据权利要求1所述的关系型数据的查询优化方法,其特征在于,还包括:获取初始结构化查询语句的逻辑执行计划,并确定所述逻辑执行计划的代价;判断所述逻辑执行计划的代价是否高于所述执行计划的最优代价,若是,则确定所述逻辑执行计划中代价高于最优代价对应的执行动作,将所述执行动作对应的执行语句作为所述初始结构化查询语句中待优化的结构化查询语句,并基于所述动态分析特征语法树中包含的动态性能数据以及相应的权分数对所述待优化的执行语句进行优化;其中,所述执行语句为待执行的结构化查询语句。5.根据权利要求4所述的关系型数据的查询优化方法,其特征在于,还包括:在对所述待优化的执行语句进行优化之后,基于所述执...

【专利技术属性】
技术研发人员:刘芳赵洪松李方岩闫文
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1