专利名称:一种数据库访问路径效率分析处理方法、服务器及系统的制作方法
技术领域:
本发明关于数据库访问技术,具体的讲是关于一种数据库访问路径效率 分析处理方法、服务器及系统。
背景技术:
主机平台上的DB2数据库是性能优异,运行稳定,使用广泛的数据库解 决方案。在现有技术中,主机DB2数据库访问路径效率分析处理的方法是在 生成数据库访问路径相关信息后,先通过输入查询语句查找出某些指标可能 隐含效率问题的程序的结构化查询语言命令(SQL),然后针对那些可能有问 题的SQL的访问路径,分别从DB2目录(CATALOG)中提取出大量相关的 数据进行综合分析,从而确定有问题的程序SQL,最后再根据分析确定的结 果进行相关优化等解决措施。
在完成本发明的过程中发明人发现,上述的数据库访问路径效率分析处 理方法需要查询的表的数量非常巨大,且需要逐一查询,因此花费时间大、 操作繁杂、等待时间长、输入语句多、査询结果察看不方便。常常是耗费了 大量的时间和精力,却无法及时发现访问路径有问题的SQL;同时,随着诸 如银行等用户业务的不断发展,主机应用日益增多,数以万计的程序投产运 行,这便进一步要求对程序SQL的访问路径效率情况能够很好地控制掌握。
发明内容
为了克服现有技术的缺陷,本发明实施例提供了一种数据库访问路径效 率分析处理方法、服务器及系统,以能够自动分析程序SQL访问路径的相关 信息,快速确定可能发生问题程序的DB2数据库访问路径。
本发明实施例的目的之一是提供一种数据库访问路径效率分析处理方法,所述的方法包括以下步骤接收用户输入的包含程序信息的结构化査询 语言命令SQL访问路径性能分析请求;根据所述的SQL访问路径性能分析请
求获取SQL访问路径信息和SQL访问路径分析规则信息;根据所述SQL访 问路径性能分析请求中包含的程序信息判断所述的程序是否为新程序;如果 是新程序,则对所述的SQL进行谓词分析处理,并根据所述的SQL访问路径 分析规则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径 性能分析结果信息;将所述的SQL访问路径性能分析结果信息输出。
本发明实施例的目的之一是提供一种数据库访问路径效率分析处理服
务器,所述的服务器包括分析请求接收单元,用于接收用户输入的包含程 序信息的结构化查询语言命令SQL访问路径性能分析请求;分析信息获取单 元,用于根据所述的SQL访问路径性能分析请求获取SQL访问路径信息和 SQL访问路径分析规则信息;访问路径处理单元,用于根据所述SQL访问路
径性能分析请求中包含的程序信息判断所述的程序是否为新程序;如果是新
程序,则对所述的SQL进行谓词分析处理,并根据所述的SQL访问路径分析 规则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径性能 分析结果信息;分析结果输出单元,用于将所述的SQL访问路径性能分析结 果信息输出。
本发明实施例的目的之一是提供一种数据库访问路径效率分析处理系
统,所述系统包括输入装置、服务器、数据存储装置和输出装置;所述的
输入装置用于输入包含程序信息的结构化查询语言命令SQL访问路径性能分 析请求;所述的数据存储装置用于存储SQL访问路径信息、SQL访问路径分 析规则信息、和SQL表信息;所述的服务器用于接收用户输入的包含程序信 息的结构化查询语言命令SQL访问路径性能分析请求;根据所述的SQL访问 路径性能分析请求获取SQL访问路径信息和SQL访问路径分析规则信息;根 据所述SQL访问路径性能分析请求中包含的程序信息判断所述的程序是否为 新程序;如果是新程序,则对所述的SQL进行谓词分析处理,并根据所述的
7SQL访问路径分析规则信息对所述的SQL访问路径性能进行分析处理,生成 SQL访问路径性能分析结果信息;所述的输出装置用于将所述的SQL访问路 径性能分析结果信息输出。
本发明实施例的有益效果在于,实现主机DB2数据库访问路径效率的自 动分析及管理;大大节约人力和时间的投入提高了工作效率;快速确定问题 程序、及时保障生产的安全运行;实现程序访问路径分析规则的统一,有利 于程序访问路径的分析管理和及时发现问题;操作简单,使用方便。
图1为本发明实施例的系统组成结构图2为本发明实施例系统的输入装置组成结构图3为本发明实施例系统的访问路径效率分析服务器组成结构图4为本发明实施例系统的输出装置组成结构图5为本发明实施例系统的数据存储装置组成结构图6为本发明实施例系统处理流程图7为本发明实施例系统的程序访问路径信息预处理流程图8为本发明实施例系统的DB2统计信息预处理流程图9为本发明实施例系统的专家规则预处理流程图10为本发明实施例系统SQL访问路径分析规则映射关系图11为本发明实施例新程序SQL访问路径分析结果输出示意图12为本发明实施例程序SQL访问路径对比分析结果输出示意图。
具体实施例方式
下面结合
本发明的具体实施方式
。 实施例一
如图1所示,为本实施例的数据库访问路径效率分析处理系统,该系统 包括输入装置IOO、服务器200、数据存储装置400和输出装置300;服务器200分别与输入装置100、数据存储装置400和输出装置300相连接。
其中,输入装置100用于输入包含程序信息的结构化查询语言命令SQL 访问路径性能分析请求;数据存储装置400用于存储SQL访问路径信息、SQL 访问路径分析规则信息、和SQL表信息;服务器200用于接收用户输入的包 含程序信息的结构化查询语言命令SQL访问路径性能分析请求;根据SQL访 问路径性能分析请求获取SQL访问路径信息和SQL访问路径分析规则信息; 根据SQL访问路径性能分析请求中包含的程序信息判断所述的程序是否为新 程序;如果是新程序,则对SQL进行谓词分析处理,并根据SQL访问路径分 析规则信息对SQL访问路径性能进行分析处理,生成SQL访问路径性能分析 结果信息;输出装置300用于将所述的SQL访问路径性能分析结果信息输出。
如图3所示,为本实施例系统的数据库访问路径效率分析处理服务器200, 服务器200包括分析请求接收单元,该分析请求接收单元可以是一分析请 求接收模块201用于接收用户输入的包含程序信息的结构化查询语言命令 SQL访问路径性能分析请求;
分析信息获取单元,该分析信息获取单元可以包括SQL访问路径信息读 入模块202、DB2系统数据统计信息读入模块203和专家规则库读入模块204; 其中SQL访问路径信息读入模块202用于根据所述的SQL访问路径性能分析 请求获取SQL访问路径信息,DB2系统数据统计信息读入模块203用于读取 SQL表信息,专家规则库读入模块204用于读入作为SQL访问路径分析规则 信息的专家规则信息;
访问路径处理单元,该访问路径处理单元可以为一访问路径效率分析处 理主控模块205,访问路径效率分析处理主控模块205用于根据所述SQL访 问路径性能分析请求中包含的程序信息判断所述的程序是否为新程序;如果 是新程序,则对所述的SQL进行谓词分析处理,并根据所述的SQL访问路径 分析规则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径 性能分析结果信息;如果不是新程序,则根据所述SQL访问路径性能分析请求获取上一次SQL访问路径信息;将当前SQL访问路径信息与上一次SQL 访问路径信息进行对比,生成SQL访问路径变化信息;对当前SQL进行谓词 分析处理,并根据所述的SQL访问路径分析规则信息对所述的SQL访问路径 变化信息进行分析处理,生成SQL访问路径性能分析结果信息。访问路径效 率分析处理主控模块205判断所述的SQL访问路径变化信息为变好还是变差; 如果SQL访问路径变好,则将所述的SQL访问路径性能分析结果进行存储, 并将分析结果信息输出;如果SQL访问路径变差,则生成SQL访问路径回退 作业流,并将所述的SQL访问路径回退作业流进行存储。访问路径效率分析 处理主控模块205对所述的SQL进行谓词分析处理包括对所述的SQL进行 谓词特点分析,生成谓词分析结果;根据所述的SQL表信息对涉及表的数据 分布特点进行分析;并对所述谓词分析结果进行谓词过滤率处理。
分析结果输出单元,该分析结果输出单元可以包括报表生成模块206和 访问路径回退模块207;其中报表生成模块206用于生成并输出SQL访问路 径性能分析结果报表信息;访问路径回退模块207用于将SQL访问路径回退 作业流进行存储和输出。
实施例二
本实施例的数据库访问路径效率分析处理方法,运行在如图1所示的数 据库访问路径效率分析处理系统中,该系统包括输入装置100、服务器200、 数据存储装置400和输出装置300;服务器200分别与输入装置100、数据存 储装置400和输出装置300相连接。
首先对存储在数据存储装置400中的程序SQL相关访问路径信息、DB2 数据统计信息和专家规则信息进行预处理,之后访问路径效率分析处理服务 器200根据输入装置100读入的用户需求,从数据存储装置400的程序SQL 访问路径信息存储装置401中读入相关程序SQL访问路径信息进行分析,同 时根据程序涉及的表,从数据存储装置400的DB2数据统计信息存储装置402 中读入相关表的数据量、数据分布特点等信息,并根据访问路径类型,从数据存储装置400的专家规则库存储装置403中读入相关专家规则,经过详细 分析后,判断程序SQL访问路径性能效率的优劣,并将分析结果报表通过输 出存储装置300输出保存;
该分析方法的具体步骤为-
步骤l:程序预处理步骤对数据存储装置400中的程序访问路径信息、 DB2数据统计信息和专家规则库进行预处理;
步骤2:信息读入步骤读入用户分析请求、程序SQL访问路径信息和 专家规则库信息;
步骤3:分析处理步骤判断是否新程序,根据判断结果,如果是新程序,
则对SQL进行谓词特点分析、对涉及表数据分布特点进行分析、谓词过滤率 进行计算,然后应用专家规则库判断SQL访问路径优劣;如果是对比分析, 则读入SQL上一次访问路径信息进行访问路径信息变化的对比分析,同时对
涉及表数据分布特点进行分析和谓词过滤率进行计算,然后应用专家规则判
断访问路径是变差还是变好,对变差的访问路径生成访问路径回退作业流; 最后将新程序或对比分析产生的分析处理结果生成报表输出到输出装置300。
其中,在步骤l的程序预处理步骤中,对程序SQL访问路径信息存储装 置401中的程序访问路径信息预处理的方法如下(参见图6):
aSl:读入EXPLAIN需求;
aS2:进行程序EXPLAIN操作;
aS3:将EXPLAIN得到的程序SQL访问路径信息存储到程序SQL访问 路径信息存储装置401中。
在步骤1的程序预处理步骤中,对DB2数据统计信息存储装置402中的 DB2数据统计信息预处理的方法具体为(参见图7):
bSh读入数据信息统计需求;
bS2:进行数据信息统计操作;
bS3:将数据信息统计结果存储到DB2数据统计信息存储装置402中。在步骤1的程序预处理步骤中,对专家规则库存储装置403中的专家规 则库预处理的方法具体为(参见图8): cSl:归纳演绎生成专家规则; cS2:录入专家规则;
cS3:将专家规则存储到专家规则库存储装置403中。 专家规则库包括
al. SPFREQ:特殊倾斜值,全表某个值大于万分之PARM1,并且全表 记录数大于PARM2,则认为效率差;
a2. NOFILTER:新旧通过索引后取DATA记录数笔,新旧ACCESS PATH 取记录比〉PARM1: PARM2,认为效率变差;
a3,ORDROW:新访问路径增加ORDER BY,并取记录数大于PARMl , 认为效率变差,为0则认为只要增加ORDER BY就认为是变差;
a4. LISTROW:新访问路径增加LIST PREFETCH,并取记录数大于 PARMl ,认为效率变差,为0则认为只要增加LIST PREFETCH,就认为是 变差;
a5. NSQLROW:新版本SQL取记录数大于该值则认为是差;
专家规则库可根据实际需求进行扩充或者修改。
如图10所示,本实施例系统使用到的专家规则举例如下-
1) SPFREQ特殊倾斜值,全表某个值大于万分之PARMl ,并且全表记 录数大于PARM2,则认为效率差;
2) NOFILTER新旧通过索引后取DATA记录数笔新旧ACCESS PATH 取记录比〉PARMh PARM2,认为效率变差;
3) ORDROW新访问路径增加ORDER BY,并取记录数大于PARMl , 认为效率变差,为0则认为只要增加ORDERBY就认为是变差;
4) LISTROW新访问路径增加LIST PREFETCH,并取记录数大于
12PARMl,认为效率变差,为0则认为只要增加LIST PREFETCH,就认为是 变差;
5) NSQLROW新版本SQL取记录数大于该值,这认为是差。 如图9所示,步骤2的信息读入步骤中的具体方法具体为 dSl:从输入装置100读入相关分析,包括分析时间段、相关程序清单等; dS2:根据分析请求,从访问路径信息存储装置401中读入相关程序SQL 的访问路径信息;
dS3:从专家规则库存储装置403中读入相关专家规则。 步骤3的分析处理步骤的具体方法具体为(参见图9): eSl:判断是否新程序,如果否,跳转到步骤eS6;
eS2:对程序SQL进行谓词特点分析,如判断是等于(=)谓词还是区间 (〉、 <、 >=、 <=等)谓词等。
eS3:从数据统计信息存储装置402中读入SQL涉及表的相关数据量等信 息,并根据谓词分析结果进行谓词过滤率计算,如对于等于(=)谓词,过 滤率计算为1/ (不同值数)等。
eS4:应用专家规则库判断SQL访问路径的优劣;
eS5:输出相关处理报表信息,将分析结果信息存储到输出装置300中的 新程序访问路径优劣结果存储装置301中,然后跳转到步骤eS20; eS6:读入SQL上一次访问路径信息; eS7:对比分析两次访问路径信息变化;
eS8:从数据统计信息存储装置402中读入SQL涉及表的相关数据量等信 息,并根据谓词分析结果进行谓词过滤率计算,如对于等于(=)谓词,过滤 率计算为1/ (不同值数)等。
eS9:应用专家规则库判断访问路径是变差还是变好,如果是变好,则跳 转到步骤eSll;
eS10:生成访问路径回退作业流,将其存储在输出装置300中的程序SQL
13访问路径回退作业流存储装置303;
eSll:输出相关处理报表信息并将其存储在输出装置300中的程序SQL 变化访问路径对比优劣结果存储装置302中; eS20:分析处理结束。
处理结果举例如下
如图11所示,新程序SQL访问路径分析结果为"GOODORBAD"字 段说明访问路径优劣,"B"表示访问路径差,"G"表示访问路径好。 "REAS0N1"说明访问路径优劣的原因。
如图12所示,程序SQL访问路径对比分析结果为"GOODORBAD" 字段说明访问路径优劣,"B"表示访问路径差,"G"表示访问路径好。 "REAS0N1"说明访问路径优劣的原因。 实施例三
如图1所示,为本发明实施例的数据库访问路径效率分析处理系统,该 系统包括输入装置IOO、服务器200、数据存储装置400和输出装置300; 服务器200分别与输入装置100、数据存储装置400和输出装置300相连接。
输入装置100主要用于读入用户的需求;服务器200能够根据输入装置 100读入的用户需求,从数据存储装置400中读入相关程序SQL访问路径信 息进行分析,同时根据程序涉及的表,从数据存储装置400中读入相关表的 数据量、数据分布特点等信息,并根据访问路径类型,从数据存储装置400 读入相关专家规则,经过详细分析后,判断程序SQL访问路径性能效率的优 劣,并将分析结果报表输出到输出存储装置300;输出存储装置300用于保存 服务器200的分析处理结果,包括统计报表、相关作业流等;数据存储装置 400则用于存储服务器200进行分析前需要预先存储的相关数据,以保证服务 器200分析处理的准确性和全面性。
如图2所示,输入装置100主要甩于提供用户相关输入场,其包括两个 部分程序清单输入装置101和时间段输入装置102,程序清单输入装置IOI
14主要是用于输入要分析SQL访问路径性能的程序清单;时间段输入装置102
则主要用于输入要分析SQL访问路径性能的程序访问路径信息存储的时间段。
如图3所示,服务器200作为核心装置,主要包括七大模块分析请求 接收模块201、程序SQL访问路径信息读入模块202、 DB2系统数据统计信 息读入模块203、专家规则库读入模块204、访问路径效率分析处理主控模块 205、报表生成模块206和访问路径回退模块207。
其中,分析请求接收模块201用于接收用户输入的包含程序信息的结构 化查询语言命令SQL访问路径性能分析请求。
程序SQL访问路径信息读入模块202是输入模块,主要是用于读入程序 SQL的相关访问路径信息;DB2系统数据统计信息读入模块203也是输入模 块,主要用于读入系统相关表的数据量统计信息、分析数据分布信息等;专 家规则库读入模块204同样是输入模块,主要用于读入相关专家规则等。
访问路径效率分析处理主控模块205则根据输入装置100读入的用户分 析需求,调用程序SQL访问路径信息读入模块202读入相关程序的SQL访问 路径信息,然后调用DB2系统数据统计信息读入模块203读入相关数据信息、 分析数据分布特征,最后调用专家规则库读入模块204读入相关专家规则,-判断SQL访问路径是否正常,并根据分析结果调用报表生成模块206和范围 路径回退模块207。
报表生成模块206是输出模块,主要是访问路径效率分析处理主控模块 205的输出,即程序SQL访问路径信息分析处理的结果,对新程序主要是哪 些SQL访问路径较差等,对旧程序主要是哪些SQL访问路径有变化,是变好 还是变坏等报表信息;访问路径回退模块207是输出模块,主要是针对程序 SQL访问路径有变化,并且是变差的情况,生成回退原来的访问路径的相关 作业流等。
如图4所示,输出装置300主要是分析处理结果存储装置,组成主要包括新程序访问路径优劣结果存储单元301、程序变化SQL访问路径对比优 劣结果存储单元302和程序SQL访问路径回退作业流存储装置303;其中新 程序访问路径优劣结果存储单元301用于存储新程序SQL访问路径效率优劣 结果,程序变化SQL访问路径对比优劣结果存储单元302用于存储程序SQL 变化访问路径对比优劣分析结果,这两部分存储结果主要是访问路径效率分 析处理装置200中的报表生成模块205的输出结果;程序SQL访问路径回退 作业流存储单元303用于存储相关程序SQL访问路径回退作业流,这部分存 储结果主要是访问路径效率分析处理装置200中的访问路径回退模块206的 输出结果。
处理结果举例如下
如图11所示,新程序SQL访问路径分析结果为"GOODORBAD"字 段说明访问路径优劣,"B"表示访问路径差,"G"表示访问路径好。
"REASON1"说明访问路径优劣的原因。
如图12所示,程序SQL访问路径对比分析结果为"GOODORBAD" 字段说明访问路径优劣,"B"表示访问路径差,"G"表示访问路径好。
"REASON1"说明访问路径优劣的原因。
如图5所示,数据存储装置400主要是用于预先存储进行分析前需要相 关数据,组成主要包括程序SQL访问路径信息存储装置401、 DB2数据统 计信息存储装置402和专家规则库存储装置403,这三部分的数据都是访问路 径效率分析处理装置200进行分析前需要预先存储的相关数据,以保证访问 路径效率分析处理装置200分析处理的准确性及全面性;其中,程序SQL访 问路径信息存储装置401主要用于存储程序SQL相关访问路径信息,DB2数 据统计信息存储装置402主要是用于存储DB2表相关数据量信息、索引信息、 数据分布信息等,专家规则库存储装置403主要用于存储系统使用到的相关 专家规则等,专家规则需要预先存储到专家规则库存储装置403中,专家规 则初始值由数据库专家根据研讨经验值生成,并可根据实际需求情况不断扩充或修改。
如图10所示,该系统使用到的专家规则举例如下
1) SPFREQ特殊倾斜值,全表某个值大于万分之PARM1,并且全表记 录数大于PARM2,则认为效率差;
2) NOFILTER新旧通过索引后取DATA记录比,新旧ACCESS PATH 取记录比〉PARM1: PARM2,认为效率变差;
3) ORDROW新访问路径增加ORDER BY,并取记录数大于PARM1 , 认为效率变差,为0则认为只要增加ORDER BY就认为是变差;
4) LISTROW新访问路径增加LIST PREFETCH,并取记录数大于 PARM1,认为效率变差,为0则认为只要增加LIST PREFETCH,就认为是 变差;
5) NSQLROW新版本SQL取记录数大于该值,这认为是差。 由于采用上述方法和结构,本发明实施例具有以下有益效果 本发明实施例能够根据输入装置读入的用户需求,从数据存储装置中读
入相关程序SQL访问路径信息进行分析,同时根据程序涉及的表,从数据存 储装置中读入相关表的数据量、数据分布特点等信息,并根据访问路径类型, 从数据存储装置读入相关专家规则,经过详细分析后,判断程序SQL访问路 径性能效率的优劣,并将分析结果报表输出,如果是对比分析,还能针对变 差的访问路径生成回退作业流;使用该方法不仅能够自动分析程序SQL访问 路径的相关信息,还能自动判断SQL访问路径是否正常等,并且可通过系统 输出的分析结果报表及时和清楚的掌握数据库访问路径效率的情况;实现了 主机DB2数据库访问路径效率分析的自动化管理。
本发明实施例进行DB2数据库访问路径效率分析时,使用者只需将需要 预处理的程序SQL相关访问路径信息、相关专家规则信息以及DB2表相关数 据量信息、数据分布信息等基本信息预先存储到数据存储装置中,系统完成 信息的预处理后,则能够根据使用者的输入需求自动完成数据库访问路径效率的自动分析,因此完全只需要很少量的甚至一个操作者即可完成,大大减
少了人力的投入;同时,使用本系统及方法可以控制较短的时间内完成整个 系统——几万个主机程序的访问路径分析,相对传统的人工分析方法,则大 大减少了程序访问路径分析的时间投入;较大幅度的提高了工作效率。
本发明实施例的访问路径效率分析处理服务器能够根据输入装置读入的 用户分析需求,调用程序SQL访问路径信息读入模块读入相关程序的SQL访 问路径信息,然后调用DB2系统数据统计信息读入模块读入相关数据信息, 分析数据分布特征,还能够调用专家规则库读入模块读入相关专家规则,判 断SQL访问路径是否正常并将分析结果输出;克服了传统分析方法操作繁 多、需要查询大量表数据、逐一等待査询结果、不方便查看查询结果等的缺 点;同时,使用本系统还能够控制在30分钟内完成整个系统——几万个主机 程序的访问路径分析,操作者因此可以快速发现访问路径有问题的程序,及 时采取优化措施避免相关问题出现,从而保证了程序运行的性能,保障了生 产的安全运行。
本发明实施例是自动应用经过资深DB2优化专家研讨生成的访问路径分 析专家规则,统一了程序访问路径分析方法,有利于程序访问路径的分析管 理和及时发现问题。操作简单,使用方便。
以上仅为本发明的较佳实施例,非因此局限本发明的权利要求,运用本 发明说明书及图示内容所作的等效结构变化,均同理包含在本发明的范围内。
权利要求
1. 一种数据库访问路径效率分析处理方法,其特征是,所述的方法包括以下步骤接收用户输入的包含程序信息的结构化查询语言命令SQL访问路径性能分析请求;根据所述的SQL访问路径性能分析请求获取SQL访问路径信息和SQL访问路径分析规则信息;根据所述SQL访问路径性能分析请求中包含的程序信息判断所述的程序是否为新程序;如果是新程序,则对所述的SQL进行谓词分析处理,并根据所述的SQL访问路径分析规则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径性能分析结果信息;将所述的SQL访问路径性能分析结果信息输出。
2. 如权利要求l所述的方法,其特征是,如果所述的程序不是新程序, 则根据所述SQL访问路径性能分析请求获取上一次SQL访问路径信息; 将当前SQL访问路径信息与上一次SQL访问路径信息进行对比,生成SQL访问路径变化信息;对当前SQL进行谓词分析处理,并根据所述的SQL访问路径分析规则信 息对所述的SQL访问路径变化信息进行分析处理,生成SQL访问路径性能分 析结果信息;将所述的SQL访问路径性能分析结果信息输出。
3. 如权利要求l所述的方法,其特征是,所述的程序信息包括SQL访 问路径性能的程序清单和SQL访问路径信息存储的时间段。
4. 如权利要求1或2所述的方法,其特征是,所述的对所述的SQL进行 谓词分析处理包括对所述的SQL进行谓词特点分析,生成谓词分析结果; 获取SQL表信息,根据所述的SQL表信息对涉及表的数据分布特点进行 分析;并对所述谓词分析结果进行谓词过滤率处理。
5. 如权利要求2所述的方法,其特征是,所述的SQL访问路径变化信息 包括SQL访问路径变好和SQL访问路径变差;如果SQL访问路径变好,则将所述的SQL访问路径性能分析结果进行存 储,并将分析结果信息输出;如果SQL访问路径变差,则生成SQL访问路径回退作业流,并将所述的 SQL访问路径回退作业流进行存储。
6. —种数据库访问路径效率分析处理服务器,其特征是,所述的服务器 包括分析请求接收单元,用于接收用户输入的包含程序信息的结构化查询语 言命令SQL访问路径性能分析请求;分析信息获取单元,用于根据所述的SQL访问路径性能分析请求获取 SQL访问路径信息和SQL访问路径分析规则信息;访问路径处理单元,用于根据所述SQL访问路径性能分析请求中包含的 程序信息判断所述的程序是否为新程序;如果是新程序,则对所述的SQL进 行谓词分析处理,并根据所述的SQL访问路径分析规则信息对所述的SQL访 问路径性能进行分析处理,生成SQL访问路径性能分析结果信息;分析结果输出单元,用于将所述的SQL访问路径性能分析结果信息输出。
7. 如权利要求6所述的服务器,其特征是,所述的访问路径处理单元根 据所述SQL访问路径性能分析请求中包含的程序信息判断所述的程序是否为 新程序;如果所述的程序不是新程序,则根据所述SQL访问路径性能分析请 求获取上一次SQL访问路径信息;将当前SQL访问路径信息与上一次SQL 访问路径信息进行对比,生成SQL访问路径变化信息;对当前SQL进行谓词 分析处理,并根据所述的SQL访问路径分析规则信息对所述的SQL访问路径变化信息进行分析处理,生成SQL访问路径性能分析结果信息。
8. 如权利要求6所述的服务器,其特征是,所述的程序信息包括SQL 访问路径性能的程序清单和SQL访问路径信息存储的时间段。
9. 如权利要求6或7所述的服务器,其特征是,所述的分析信息获取单 元还用于获取SQL表信息;所述的访问路径处理单元对所述的SQL迸行谓词分析处理包括对所述 的SQL进行谓词特点分析,生成谓词分析结果;根据所述的SQL表信息对涉 及表的数据分布特点进行分析;并对所述谓词分析结果进行谓词过滤率处理。
10. 如权利要求7所述的服务器,其特征是,所述的访问路径处理单元 判断所述的SQL访问路径变化信息为变好还是变差;如果SQL访问路径变好,则将所述的SQL访问路径性能分析结果进行存 储,并将分析结果信息输出;如果SQL访问路径变差,则生成SQL访问路径回退作业流,并将所述的 SQL访问路径回退作业流进行存储。
11. 一种数据库访问路径效率分析处理系统,其特征是,所述系统包括 输入装置、服务器、数据存储装置和输出装置;所述的输入装置用于输入包含程序信息的结构化査询语言命令SQL访问 路径性能分析请求;所述的数据存储装置用于存储SQL访问路径信息、SQL访问路径分析规 则信息、和SQL表信息;所述的服务器用于接收用户输入的包含程序信息的结构化查询语言命令 SQL访问路径性能分析请求;根据所述的SQL访问路径性能分析请求获取 SQL访问路径信息和SQL访问路径分析规则信息;根据所述SQL访问路径 性能分析请求中包含的程序信息判断所述的程序是否为新程序;如果是新程 序,则对所述的SQL进行谓词分析处理,并根据所述的SQL访问路径分析规 则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径性能分析结果信息;所述的输出装置用于将所述的SQL访问路径性能分析结果信息输出。
12. 如权利要求ll所述的系统,其特征是,所述的服务器根据所述SQL 访问路径性能分析请求中包含的程序信息判断所述的程序是否为新程序;如 果所述的程序不是新程序,则根据所述SQL访问路径性能分析请求获取上一 次SQL访问路径信息;将当前SQL访问路径信息与上一次SQL访问路径信 息进行对比,生成SQL访问路径变化信息;对当前SQL进行谓词分析处理, 并根据所述的SQL访问路径分析规则信息对所述的SQL访问路径变化信息进 行分析处理,生成SQL访问路径性能分析结果信息。
13. 如权利要求12所述的系统,其特征是,所述的服务器判断所述的SQL 访问路径变化信息为变好还是变差;如果SQL访问路径变好,则将所述的SQL访问路径性能分析结果进行存 储,如果SQL访问路径变差,则生成SQL访问路径回退作业流,并将所述的 SQL访问路径回退作业流进行存储。
14. 如权利要求ll所述的系统,其特征是,所述的输入装置包括 程序清单输入单元,用于输入SQL访问路径性能的程序清单; 时间段输入单元,用于输入SQL访问路径信息存储的时间段。
15. 如权利要求13所述的系统,其特征是,所述的输出装置包括 新程序访问路径优劣结果存储单元,用于存储输新程序访问路径性能分析结果信息;SQL变化访问路径对比优劣结果存储单元,用于存储所述的SQL访问路 径性能分析结果;SQL访问路径回退作业流存储单元,用于存储所述的SQL访问路径回退 作业流。
全文摘要
本发明提供一种数据库访问路径效率分析处理方法、服务器及系统,该方法包括接收用户输入的包含程序信息的结构化查询语言命令SQL访问路径性能分析请求;根据SQL访问路径性能分析请求获取SQL访问路径信息和SQL访问路径分析规则信息;根据SQL访问路径性能分析请求中包含的程序信息判断程序是否为新程序;如果是新程序,则对SQL进行谓词分析处理,并根据SQL访问路径分析规则信息对所述的SQL访问路径性能进行分析处理,生成SQL访问路径性能分析结果信息;如果不是新程序,则对程序新旧访问路径进行对比分析,生成SQL访问路径性能分析结果信息;将SQL访问路径性能分析结果信息输出。以分析程序SQL访问路径的相关信息,确定可能发生问题程序的DB2数据库访问路径。
文档编号G06F17/30GK101425091SQ20081023894
公开日2009年5月6日 申请日期2008年12月5日 优先权日2008年12月5日
发明者徐乐耕, 曾美财, 李奇伟, 邓俊峰 申请人:中国工商银行股份有限公司