数据库自动优化方法及设备技术

技术编号:39831875 阅读:10 留言:0更新日期:2023-12-29 16:13
本发明专利技术公开一种数据库自动优化方法及设备,所述方法包括

【技术实现步骤摘要】
数据库自动优化方法及设备


[0001]本专利技术涉及仿真
,特别涉及一种数据库自动优化方法及电子设备


技术介绍

[0002]现有数据库技术,特别是关系数据库主要通过数据库语言与数据库交互,例如结构化查询语言
(Structured Query Language

SQL)
与数据库交互
。SQL
已经在数据库中得到了广泛的应用,并取得重大进展

但也面临诸多挑战,包括
SQL
查询语句可能变得非常复杂,特别是对象关系映射(
Object Relational Mapping

ORA
)框架的广泛使用,更是加剧了这种复杂性

同时,随着数据量的不断增加,
SQL
面临着处理大规模数据的挑战
。SQL
需要更快的处理速度和更好的扩展性来应对这一挑战

现有数据库产品和工具中,一般会提供可视化的或命令行工具针对特定的
SQL
进行优化

随着应用系统版本迭代的加速和业务逻辑复杂性的提高,需要优化的
SQL
急剧增加,但基于可视化的或命令行工具进行手工的优化方式已经不能满足行业的发展需要


技术实现思路

[0003]为了解决现有存在的技术问题,本专利技术实施例提供一种数据库自动优化方法及电子设备,能够实现能自动对需要优化的查询语句进行优化,从而提高关系数据库的工作效率及使用户端的业务系统能够平稳运行

[0004]第一方面,提供一种数据库自动优化方法,包括:获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;获取所述关系数据库中的基础数据;基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询

[0005]第二方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请实施例所提供的数据库自动优化方法的步骤

[0006]本申请实施例提供的数据库自动优化方法及电子设备,通过获取待优化查询语句,并基于关系数据库的基础数据及待优化查询语句对应的执行数据对待优化查询语句进行优化,生成待优化查询语句的优化执行计划,从而实现能自动对需要优化的查询语句进行优化,从而提高关系数据库的工作效率及使用户端的业务系统能够平稳运行

附图说明
[0007]图1为一实施例中数据库自动优化方法的应用环境图;
图2为一实施例中数据库自动优化方法的流程图;图3为一实施例中数据库自动优化方法中生成优化执行计划的流程图;图4为一实施例中数据库自动优化装置的示意图;图5为一实施例中电子设备的示意图

具体实施方式
[0008]以下结合说明书附图及具体实施例对本专利技术技术方案做进一步的详细阐述

[0009]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同

本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术的保护范围

本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合

[0010]在以下的描述中,涉及到“一些实施例”的表述,其描述了所有可能实施例的子集,但是应当理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合

[0011]参阅图1,为一实施例中数据库自动优化方法的应用环境图

应用环境图可以包括业务系统
100、
关系数据库
200
及数据库自动优化系统
300。
其中业务系统
100
与关系数据库
200
进行数据通信,业务系统
100
是面向用户使用的系统,关系数据库
200
是建立在关系数据库模型基础上的数据库,给业务系统
100
提供数据支持

业务系统
100
基于关系数据库
200
提供的数据向用户提供各项功能

业务系统
100
基于用户的功能使用向关系数据库
200
请求数据

关系数据库
200
根据请求,并利用数据库查询语言查询与请求相关的数据

数据库自动优化系统
300
与关系数据库
200
进行数据通信,数据库自动优化系统
300
通过本申请实施例中的数据库自动优化方法对关系数据库
200
进行优化,以提高业务系统
100
的数据查询的及时性及准确性

关系数据库
200
可以是
oracle
数据库
、db2
数据块
、SQL Server
数据库
、MySQL
等数据库

业务系统
100、
数据库自动优化系统
300
可以是指逻辑上相互独立的软件

小程序等等

业务系统
100、
关系数据库
200、
数据库自动优化系统
300、
可以同时或者部分位于同一电子设备中,也可以分别位于不同的电子设备中,保证业务系统
100、
关系数据库
200、
数据库自动优化系统
300
能够进行数据通信即可

在一些实施例中,数据库自动优化系统
300
可以位于关系数据库
200
中,作为关系数据库
200
的一种自动优化工具

[0012]请参阅图2,为本申请一实施例提供的数据库自动优化方法的流程图

数据库自动优化方法应用于电子设备中,该数据库自动优化方法包括如下步骤:
S11、
获取待优化查询语句及待优化查询语句对应的在关系数据库中的执行过程中的执行数据

[0013]在本实施例中,待优化查询语句指示需要优化的查询语句

其中查询语句是基于数据库语言形成的语句,例如结构化查询语言
(Structured Query Language

SQL)
语句

在业务系统请求数据时,会利用查询语本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库自动优化方法,其特征在于,包括:获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据;获取所述关系数据库中的基础数据;基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划;根据所述待优化查询语句的优化执行计划,对所述待优化查询语句进行优化查询
。2.
如权利要求1所述的数据库自动优化方法,其特征在于,所述获取待优化查询语句及所述待优化查询语句对应的在关系数据库中的执行过程中的执行数据包括以下至少一种:获取与所述关系数据库进行数据通信的业务系统的数据评价指标,从所述关系数据库中的多个查询语句中确定与数据评价指标对应的查询指标不达标的查询语句,将数据评价指标不达标的查询语句作为待优化查询语句;及
/
或获取所述关系数据库中在执行过程中占用资源超过预设资源值的查询语句,将占用资源超过预设资源值的查询语句作为待优化查询语句
。3.
如权利要求1所述的数据库自动优化方法,其特征在于,所述基于获取的基础数据及所述待优化查询语句对应的执行数据,生成对所述待优化查询语句的优化执行计划包括:获取待优化查询语句对应的数据表中的扩展统计信息,其中扩展统计信息包括指示列的数据分布的列扩展统计信息,指示多个有关联关系的列的统计信息的关联列扩展统计信息

指示列上使用函数后的统计信息的函数的扩展统计信息

指示列上使用表达式后的统计信息的表达式的扩展统计信息;基于待优化查询语句对应的数据表中的扩展统计信息,获取待优化查询语句对应的基数及待优化查询语句对应的数据分布;获取用于指示优化目标的优化参数;基于待优化查询语句对应的基数及待优化查询语句对应的数据分布,获取的基础数据

所述待优化查询语句对应的执行数据及所述优化参数,生成待优化查询语句的至少一个执行计划;从所述待优化查询语句的至少一个执行计划中将所述优化参数对应的参数值符合预设参数条件的执行计划作为所述优化执行计划
。4.
如权利要求3所述的数据库自动优化方法,其特征在于,所述获取用于指示优化目标的优化参数包括:获取与所述关系数据库进行数据通信的业务系统的数据评价指标的范围值;根据数据评价指标的范围值,及
/
或所述关系数据库的资源负载状态,配置优化参数,其中所述优化参数包括以下至少一种:与数据评价指标对应的查询指标

指示限定优化查询语句的优化时长的优化超时参数

指示所述关系数据库的资源占用的性能参数值
。5.
如权利要求1所述的数据库自动优化方法,其特征在于,所述待优化查询语句为多条待优化查询语句,所述根据所述待优化查询...

【专利技术属性】
技术研发人员:苗旭成方跃坚曾焱
申请(专利权)人:深圳九有数据库有限公司
类型:发明
国别省市:

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

1