[发明专利]一种数据库优化方法、装置、电子设备及存储介质在审
申请号: | 202210012709.8 | 申请日: | 2022-01-06 |
公开(公告)号: | CN114238395A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 汪维;李铭;李明;唐冬平;邱峰 | 申请(专利权)人: | 税友软件集团股份有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455;G06F16/242 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 冯海刚 |
地址: | 310053 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 优化 方法 装置 电子设备 存储 介质 | ||
本发明提供一种数据库优化方法,包括:获取待处理SQL语句;当检测到待处理SQL语句被数据库执行时,记录执行时间,并在确定执行时间大于预设时间时,查找待处理SQL语句在数据库中对应的实体表;对实体表进行采样分析和/或直方图分析,并将得到的采样分析结果和/或数据直方图发送至数据库,以使数据库根据采样分析和/或数据直方图进行执行计划优化;可自动检测数据库执行待处理SQL语句的情况,并在发现异常情况时自动分析异常SQL语句对应的实体表,无需人工操作,可避免由人工操作导致的优化效率低及优化质量差的问题,进而提升数据库优化效果。本发明还提供一种数据库优化装置、电子设备及存储介质,具有上述有益效果。
技术领域
本发明涉及数据库领域,特别涉及一种数据库优化方法、装置、电子设备及存储介质。
背景技术
随着运行时间的增长以及变化数据的增多,数据库常会出现运行缓慢或是运行卡顿的情况,影响对外服务能力。相关技术中,数据库运行缓慢及卡顿的问题通常由运维人员或是开发人员进行人为干预优化,然而这种方式效率较低,同时优化效果容易受运维人员及开发人员的优化能力影响,进而导致数据库优化难以达到应用要求。
发明内容
本发明的目的是提供一种数据库优化方法、装置、电子设备及存储介质,可自动检测数据库执行待处理SQL语句的情况,并在发现异常情况时自动分析异常SQL语句对应的实体表,以引导数据库进行优化,可避免由人工操作导致的优化效率低及优化质量差的问题。
为解决上述技术问题,本发明提供一种数据库优化方法,包括:
获取待处理SQL语句;
当检测到所述待处理SQL语句被所述数据库执行时,记录执行时间,并在确定所述执行时间大于预设时间时,查找所述待处理SQL语句在数据库中对应的实体表;
对所述实体表进行采样分析和/或直方图分析,并将得到的采样分析结果和/或数据直方图发送至所述数据库,以使所述数据库根据所述采样分析和/或数据直方图进行执行计划优化。
可选地,所述获取待处理SQL语句,包括:
获取所述数据库的预设对外接口,并将所述预设对外接口对应的SQL语句设置为所述待处理SQL语句;
相应的,所述当检测到所述待处理SQL语句被所述数据库执行时,记录执行时间,包括:
探测所述预设对外接口并记录响应时间,以使所述对外接口将所述待处理SQL语句发送至所述数据库进行执行;
当接收到所述预设对外接口返回的响应信息时,停止记录所述响应时间,并将所述响应时间设置为所述执行时间。
可选地,所述获取待处理SQL语句,包括:
获取预设时间段内生成的任务调度日志,并将所述任务调度日志对应任务所需执行的SQL语句设置为所述待处理SQL语句;所述任务调度日志中记录有所述数据库执行所述任务对应SQL语句的任务执行时间;
相应的,所述当检测到所述待处理SQL语句被所述数据库执行时,记录执行时间,包括:
将所述任务执行时间设置为所述执行时间。
可选地,所述将所述任务调度日志对应任务所需执行的SQL语句设置为所述待处理SQL语句,包括:
查找所述任务对应的ETL代码;
在所述ETL代码中提取所述任务所需执行的SQL语句,并设置为所述待处理SQL语句。
可选地,所述对所述实体表进行采样分析和/或直方图分析,并将得到的采样分析结果和/或数据直方图发送至所述数据库,以使所述数据库根据所述采样分析和/或数据直方图进行执行计划优化,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于税友软件集团股份有限公司,未经税友软件集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210012709.8/2.html,转载请声明来源钻瓜专利网。