数据库操作语句的执行效率优化方法及装置制造方法及图纸

技术编号:33435479 阅读:12 留言:0更新日期:2022-05-19 00:24
公开了一种数据库操作语句的执行效率优化方法及装置。在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息,并基于采集到的信息生成诊断报告和/或优化建议。由此,通过以数据库操作语句的生命周期为数据采集期间,使得能够采集到任何有助于提升数据库操作语句的执行效率的信息,进而使得基于采集到的信息生成的诊断报告和/或优化建议能够全面、准确地优化数据库操作语句的执行效率。率。率。

【技术实现步骤摘要】
数据库操作语句的执行效率优化方法及装置


[0001]本公开涉及数据库
,特别是涉及一种数据库操作语句的执行效率优化方法及装置。

技术介绍

[0002]数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
[0003]通过执行遵循数据库查询和程序设计语言编写的数据库操作语句,可以查询、更新和管理数据库。数据库操作语句的执行效率通常受多方面因素的影响,然而现有的优化方案主要是通过分析数据库查询语句的设计是否合理来进行调优,使得优化效率有限。
[0004]因此,需要一种更为行之有效的数据库操作语句执行效率优化方案。

技术实现思路

[0005]本公开要解决的一个技术问题是提供一种更为行之有效的数据库操作语句执行效率优化方案。
[0006]根据本公开的第一个方面,提供了一种数据库操作语句的执行效率优化方法,包括:在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息;基于采集到的信息生成诊断报告和/或优化建议。
[0007]可选地,所述生命周期包括执行所述数据库操作语句之前的执行前阶段,在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息的步骤包括:在所述执行前阶段采集与数据库操作语句的执行效率相关的信息,基于采集到的信息生成效率诊断报告和/或优化建议的步骤包括:基于采集到的信息生成预执行建议,该方法还包括:在执行所述数据库操作语句之前,基于所述预执行建议执行优化操作。r/>[0008]可选地,所述数据库操作语句针对的数据库为MPP数据库,在所述解析阶段采集与数据库操作语句的执行效率相关的信息的步骤包括:获取与所述数据库操作语句涉及的表相关的表信息;和/或分析所述数据库操作语句中的查询条件是否合理;和/或对所述数据库操作语句的执行计划进行预估;和/或检测各主机上主选节点的数量是否和主机资源匹配。
[0009]可选地,分析所述数据库操作语句中的查询条件是否合理的步骤包括:检测所述数据库操作语句中是否存在join条件隐患;和/或检测所述数据库操作语句中where条件过滤后结果集在表中占比低于预设阈值的查询对应的表是否存在索引。
[0010]可选地,所述表信息包括第一表信息和第二表信息,所述第一表信息用于表征表的基本信息,所述第二表信息用于表征对表进行统计和/或分析得到的信息,所述第一表信息包括以下至少一项:分布键、行列存、表压缩、字段数、主键、唯一约束、分区数,所述第二表信息包括以下至少一项:磁盘空间占用明细、统计信息、膨胀情况、倾斜情况。
[0011]可选地,所述预执行建议包括以下至少一项:表设计建议;join条件隐患提示;索
引推荐;执行计划瓶颈提示;执行计划建议;节点平衡状态提示;表倾斜情况提示;统计信息提示。
[0012]可选地,所述生命周期包括用于表征所述数据库操作语句的实际执行过程的执行阶段,在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息的步骤包括:在所述执行阶段采集实际执行过程中与数据库操作语句的执行效率相关的信息,基于采集到的信息生成效率诊断报告和/或优化建议的步骤包括:将采集到的信息作为辅助优化信息。
[0013]可选地,所述数据库操作语句针对的数据库为MPP数据库,在所述执行阶段采集实际执行过程中与数据库操作语句的执行效率相关的信息的步骤包括:对所述实际执行过程中数据库的状态进行监测,得到数据库的状态信息;和/或对所述实际执行过程中节点所在主机的负载进行监测,得到主机的负载信息;和/或对所述实际执行过程中节点的执行状态进行监测,得到节点的状态信息。
[0014]可选地,该方法还包括:基于分析工具生成所述数据库操作语句的实际执行计划,并在所述执行阶段对所述数据库操作语句的实际执行情况进行分析。
[0015]可选地,该方法还包括:设置一个或多个优化器,在所述优化器的优化作用下生成并执行所述数据库操作语句的实际执行计划。
[0016]可选地,所述生命周期包括所述数据库操作语句的实际执行过程结束后的执行后阶段,在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息的步骤还包括:在所述执行后阶段获取多个对应不同优化器的实际执行计划,基于采集到的信息生成效率诊断报告和/或优化建议的步骤包括:对多个所述实际执行计划进行对比,得到能够反映不同优化器的执行差异的信息。
[0017]可选地,基于采集到的信息生成效率诊断报告和/或优化建议的步骤还包括:生成新的执行计划和/或实际执行计划瓶颈提示。
[0018]根据本公开的第二个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
[0019]根据本公开的第三个方面,提供了一种计算机程序产品,包括可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述第一方面所述的方法。
[0020]根据本公开的第四个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
[0021]由此,本公开通过在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息,使得基于采集到的信息生成的诊断报告和/或优化建议,能够全面、准确地优化数据库操作语句的执行效率。
附图说明
[0022]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0023]图1示出了根据本公开一个实施例的执行效率优化方法的示意性流程图。
[0024]图2示出了根据本公开一个实施例的面向MPP数据库的效率诊断和优化辅助方案的示意性流程图。
[0025]图3示出了根据本公开一个实施例的执行效率优化装置的结构示意图。
[0026]图4示出了根据本公开一个实施例的计算设备的结构示意图。
具体实施方式
[0027]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0028]本公开提出,以数据库操作语句的生命周期为数据采集期间,在数据库操作语句的生命周期内对优化所需的信息进行采集、处理,最终生成有助于提升数据库操作语句执行效率的诊断报告和/或优化建议。
[0029]数据库操作语句的生命周期能够反映数据库操作语句从执行前到执行结束后的过程。通过在数据库操作语句的生命周期内执行信息采集操作,使得能够采集到任何有助于提升数据库操作语句的执行效率的信息,进而使得基于采集到的信息本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库操作语句的执行效率优化方法,包括:在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息;基于采集到的信息生成诊断报告和/或优化建议。2.根据权利要求1所述的方法,其中,所述生命周期包括执行所述数据库操作语句之前的执行前阶段,在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息的步骤包括:在所述执行前阶段采集与数据库操作语句的执行效率相关的信息,基于采集到的信息生成效率诊断报告和/或优化建议的步骤包括:基于采集到的信息生成预执行建议,该方法还包括:在执行所述数据库操作语句之前,基于所述预执行建议执行优化操作。3.根据权利要求2所述的方法,其中,所述数据库操作语句针对的数据库为MPP数据库,在所述解析阶段采集与数据库操作语句的执行效率相关的信息的步骤包括:获取与所述数据库操作语句涉及的表相关的表信息;和/或分析所述数据库操作语句中的查询条件是否合理;和/或对所述数据库操作语句的执行计划进行预估;和/或检测各主机上主选节点的数量是否和主机资源匹配。4.根据权利要求3所述的方法,其中,分析所述数据库操作语句中的查询条件是否合理的步骤包括:检测所述数据库操作语句中是否存在join条件隐患;和/或检测所述数据库操作语句中where条件过滤后结果集在表中占比低于预设阈值的查询对应的表是否存在索引。5.根据权利要求3所述的方法,其中,所述表信息包括第一表信息和第二表信息,所述第一表信息用于表征表的基本信息,所述第二表信息用于表征对表进行统计和/或分析得到的信息,所述第一表信息包括以下至少一项:分布键、行列存、表压缩、字段数、主键、唯一约束、分区数,所述第二表信息包括以下至少一项:磁盘空间占用明细、统计信息、膨胀情况、倾斜情况。6.根据权利要求2所述的方法,其中,所述预执行建议包括以下至少一项:表设计建议;join条件隐患提示;索引推荐;执行计划瓶颈提示;执行计划建议;节点平衡状态提示;表倾斜情况提示;统计信息提示。7.根据权利要求1所述的方法,其中,所述生命周期包括用于表征所述数据库操作语句的实际执行过程的执行阶段,在数据库操作语句的生命周期内采集与数据库操作语句的执行效率相关的信息的步骤包括:在所述执行阶段采集实际执行过程中与数据库操作语句的执行效率...

【专利技术属性】
技术研发人员:卞中明赵可可
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1