The application discloses a SQL automatic optimization method, device, computer equipment and storage medium. The method includes: when the current script is in execution state, collecting the current system performance index parameters according to the system performance index monitoring items set in the current script; if the current system performance index parameters exceed the preset index early warning value, recording the current script to the specified path; obtaining the execution plan of the current script; If the index of the current script is invalid, the script is repaired by forcing the index to get the repaired script. This method can monitor and control the system performance in time, and can optimize the SQL script which has a great influence on the system performance automatically, so as to find the performance problems quickly and solve them.
【技术实现步骤摘要】
SQL自动优化方法、装置、计算机设备及存储介质
本申请涉及数据库脚本
,尤其涉及一种SQL自动优化方法、装置、计算机设备及存储介质。
技术介绍
脚本,是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。在软件开发的过程中,开发人员所编写的脚本质量因人而异,低质量的脚本在执行时给系统带来了极大的性能隐患。一般是系统在脚本执行出现性能问题后,才会去排查和修复脚本所导致的问题。由于脚本众多,无法及时定位具体导致问题出现的脚本,导致了对低质量的脚本进行修改和优化的效率低下。
技术实现思路
本申请提供了一种SQL自动优化方法、装置、计算机设备及存储介质,旨在解决现有技术中众多脚本在执行时,无法及时定位具体导致问题出现的脚本,导致了对低质量的脚本进行修改和优化的效率低下的问题。第一方面,本申请提供了一种SQL自动优化方法,其包括:当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;获取当前脚本的执行计划;若当前脚本的执行计划中缺少索引,自动添加索引至当前脚本;若当前脚本的索引失效,通过强制索引进行脚本修复,得到修复后脚本。第二方面,本申请提供了一种SQL自动优化装置,其包括:指标参数获取单元,用于当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;超标脚本记录单元,用于若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;执行计划获取单元,用于获取当前脚本的执行计划;索引自动添加单 ...
【技术保护点】
1.一种SQL自动优化方法,其特征在于,包括:当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;获取当前脚本的执行计划;若当前脚本的执行计划中缺少索引,自动添加索引至当前脚本;若当前脚本的索引失效,通过强制索引进行脚本修复,得到修复后脚本。
【技术特征摘要】
1.一种SQL自动优化方法,其特征在于,包括:当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;获取当前脚本的执行计划;若当前脚本的执行计划中缺少索引,自动添加索引至当前脚本;若当前脚本的索引失效,通过强制索引进行脚本修复,得到修复后脚本。2.根据权利要求1所述的SQL自动优化方法,其特征在于,所述当前系统性能指标参数包括:吞吐量、SQL脚本执行性能参数、服务器连接情况参数、缓冲池使用情况参数;所述根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数,包括:通过内部计数器进行已执行语句的计数,得到吞吐量;通过统计出现错误的SQL语句数量,或统计超过可配置的长查询限制的查询数量,得到SQL脚本执行性能参数;通过统计当前开放的连接数量、当前运行的连接数量、由服务器错误导致的失败连接数、尝试与服务器进行连接结果失败的次数、或由最大连接数限制导致的失败连接数中任意一个,得到服务器连接情况参数;通过统计缓冲池中的总页数、缓冲池中已使用页数所占的比率、缓冲池发送的请求数、或缓冲池无法满足的请求数中任意一个,得到缓冲池使用情况参数。3.根据权利要求2所述的SQL自动优化方法,其特征在于,所述若当前系统性能指标参数超出预设的指标预警值中,若在吞吐量、SQL脚本执行性能参数、服务器连接情况参数、或缓冲池使用情况参数中有至少一个超出对应预设的指标预警值,判定当前系统性能指标参数超出预设的指标预警值。4.根据权利要求1所述的SQL自动优化方法,其特征在于,所述若当前脚本的执行计划中缺少索引之前,包括:通过动态管理视图来判断当前脚本的执行计划是否缺乏索引。5.根据权利要求1所述的SQL自动优化方法,其特征在于,所述自动添加索引至当前脚本包括,通过fn_Index_CreateIndexName函数对当前脚本自动添加索引。6.根据权利要求1所述的SQL自动优化方法,其特征在于,所述通过强制索引进行脚本修复,得到修复后脚本,包括:获取所选定...
【专利技术属性】
技术研发人员:徐钊,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。