[发明专利]SQL自动优化方法、装置、计算机设备及存储介质在审
| 申请号: | 201810146454.8 | 申请日: | 2018-02-12 |
| 公开(公告)号: | CN108388626A | 公开(公告)日: | 2018-08-10 |
| 发明(设计)人: | 徐钊 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F8/30 |
| 代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 林燕云 |
| 地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 脚本 索引 系统性能指标 自动优化 计算机设备 存储介质 修复 监控系统 脚本记录 性能问题 影响系统 自动添加 状态时 预设 采集 预警 监控 申请 发现 | ||
1.一种SQL自动优化方法,其特征在于,包括:
当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;
若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;
获取当前脚本的执行计划;
若当前脚本的执行计划中缺少索引,自动添加索引至当前脚本;
若当前脚本的索引失效,通过强制索引进行脚本修复,得到修复后脚本。
2.根据权利要求1所述的SQL自动优化方法,其特征在于,所述当前系统性能指标参数包括:吞吐量、SQL脚本执行性能参数、服务器连接情况参数、缓冲池使用情况参数;
所述根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数,包括:
通过内部计数器进行已执行语句的计数,得到吞吐量;
通过统计出现错误的SQL语句数量,或统计超过可配置的长查询限制的查询数量,得到SQL脚本执行性能参数;
通过统计当前开放的连接数量、当前运行的连接数量、由服务器错误导致的失败连接数、尝试与服务器进行连接结果失败的次数、或由最大连接数限制导致的失败连接数中任意一个,得到服务器连接情况参数;
通过统计缓冲池中的总页数、缓冲池中已使用页数所占的比率、缓冲池发送的请求数、或缓冲池无法满足的请求数中任意一个,得到缓冲池使用情况参数。
3.根据权利要求2所述的SQL自动优化方法,其特征在于,所述若当前系统性能指标参数超出预设的指标预警值中,若在吞吐量、SQL脚本执行性能参数、服务器连接情况参数、或缓冲池使用情况参数中有至少一个超出对应预设的指标预警值,判定当前系统性能指标参数超出预设的指标预警值。
4.根据权利要求1所述的SQL自动优化方法,其特征在于,所述若当前脚本的执行计划中缺少索引之前,包括:
通过动态管理视图来判断当前脚本的执行计划是否缺乏索引。
5.根据权利要求1所述的SQL自动优化方法,其特征在于,所述自动添加索引至当前脚本包括,通过fn_Index_CreateIndexName函数对当前脚本自动添加索引。
6.根据权利要求1所述的SQL自动优化方法,其特征在于,所述通过强制索引进行脚本修复,得到修复后脚本,包括:
获取所选定的数据库优化器;其中,所述数据库优化器为基于规则的优化器、基于成本的优化器、或选择性的优化器中的一种;
通过rebuild指令重建当前脚本的索引;
通过hint指令强制使用索引,得到修复后脚本。
7.一种SQL自动优化装置,其特征在于,包括:
指标参数获取单元,用于当前脚本为执行状态时,根据当前脚本中所设置的系统性能指标监控项采集当前系统性能指标参数;
超标脚本记录单元,用于若当前系统性能指标参数超出预设的指标预警值,将当前脚本记录至指定路径;
执行计划获取单元,用于获取当前脚本的执行计划;
索引自动添加单元,用于若当前脚本的执行计划中缺少索引,自动添加索引至当前脚本;
脚本修复单元,用于若当前脚本的索引失效,通过强制索引进行脚本修复,得到修复后脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810146454.8/1.html,转载请声明来源钻瓜专利网。





