[发明专利]一种数据库全局性自动化优化预警装置及其处理方法有效
申请号: | 201310345363.4 | 申请日: | 2013-08-08 |
公开(公告)号: | CN103390066A | 公开(公告)日: | 2013-11-13 |
发明(设计)人: | 程永新;宋辉;梁铭图 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 金碎平 |
地址: | 200063 上海市普*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 全局性 自动化 优化 预警 装置 及其 处理 方法 | ||
1.一种数据库全局性自动化优化预警装置,其特征在于,包括:
任务调配模块:用于设置索引监控任务,配置需要监控索引的业务表;
信息采集模块:用于定时连接到目标数据库,采集相应业务表的所有SQL、SQL的执行频次、调用的谓词信息,并记录到信息采集库;
结果分析模块:根据采集到的数据对所有SQL中各谓词的选择性、使用频次和组合进行统计分析,实时计算出目标数据库的索引方案,并记录到结果分析库。
2.如权利要求1所述的数据库全局性自动化优化预警装置,其特征在于,所述任务调配模块包括任务创建、任务取消、任务更新、任务删除和任务查询,所述任务调配模块通过一次执行或定时调度模块多次循环执行采集数据库信息。
3.如权利要求1所述的数据库全局性自动化优化预警装置,其特征在于,所述信息采集模块包括SQL过滤模块、谓词定位模块、谓词过滤模块、谓词拆分模块和频次采集模块;所述结果分析模块包括谓词分析模块和频次分析模块,所述结果分析模块根据业务表和字段的访问频次变化对索引进行新增、合并和/或删除,实时计算出目标数据库的索引方案。
4.一种数据库全局性自动化优化预警处理方法,其特征在于,包括如下步骤:
a)设置索引监控任务,配置需要监控索引的业务表;
b)定时连接到目标数据库,采集相应业务表的所有SQL、SQL的执行频次、调用的谓词信息;
c)根据采集到的数据实时更新目标数据库的索引方案。
5.如权利要求4所述的数据库全局性自动化优化预警处理方法,其特征在于,所述步骤b)中的采集过程如下:
b1)输入目标数据库中用户名/表名集合,以及采样的起止时间,采集的频率;
b2)根据输入用户名/表名集合从目标数据库中得到相关SQL;
b3)根据SQL_ID依次获取每条SQL语句中访问谓词字段和过滤谓词字段并汇总;
b4)根据业务表的统计信息计算出谓词的选择性;
b5)统计SQL的执行频率。
6.如权利要求5所述的数据库全局性自动化优化预警处理方法,其特征在于,
对于行数少于预设行数的业务表,不创建索引,直接跳过后续步骤。
7.如权利要求5所述的数据库全局性自动化优化预警处理方法,其特征在于,对于包含关键字“and”或“or”的谓词,将其左右分别拆为独立谓词,并递归拆分过程;对于无法使用索引的谓词字段在采集的时候进行过滤;对于包含函数的谓词,建立基于函数的索引。
8.如权利要求4所述的数据库全局性自动化优化预警处理方法,其特征在于,所述步骤c)包括如下过程:
c1)输入采集到的信息:用户名/表名、谓词、频次和选择性并进行统计;
c2)将同一SQL中且频次排名占总量前60%的谓词进行组合,对于存在相同或者部分相同谓词的SQL先判断是否创建复合索引,重复利用索引;
c3)如果不需要创建复合索引,则通过遍历排序评估索引利用率来决定字段顺序;
c4)如果单列索引代价低于复合索引,则进行单列索引分析,统计所有SQL中各谓词字段使用频次并以降序排列,算出各字段的频次;
c5)按谓词频次从高到低分析谓词,对选择性大于0.2的谓词创建B树索引或基于函数的B树索引;
c6)迭代分析谓词,直至结束,最后与现有的索引作差异对比,输出需要增加、删除和/或合并的索引。
9.如权利要求8所述的数据库全局性自动化优化预警处理方法,其特征在于,对选择性小于0.2的谓词,如果该谓词的调用频次占总量40%以上则建立位图索引,否则丢弃该谓词。
10.如权利要求8所述的数据库全局性自动化优化预警处理方法,其特征在于,多个谓词组合的选择性Selectivity计算如下:
Selectivity=1-(1-Dist1/Rows)×(1-Dist2/Rows)×(1-Dist3/Rows)×...(1-Distn/Rows);
多个谓词平均执行频次之和Exec_Freq计算如下:
Exec_Freq=SQL_Freq1+SQL_Freq2+SQL_Freq3+...SQL_Freqn;
谓词的选择性和谓词频次的评估值V计算如下::
如果谓词的选择性和谓词频次的评估值V大于预设阈值,则对谓词创建B树索引或基于函数的B树索引,其中,Rows为业务表的数据行数,Dist1、Dist2、Dist3、…Distn分别为各个谓词的取值数,SQL_Freq1、SQL_Freq2、SQL_Freq3、…SQL_Freqn分别为实用该谓词的各个SQL单位时间内平均执行频次。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310345363.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种真空泵及真空泵的抽气调节系统
- 下一篇:EGR混合器