[发明专利]一种统计信息的收集方法及装置在审
申请号: | 201810531063.8 | 申请日: | 2018-05-29 |
公开(公告)号: | CN108829768A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 裴炜裕;易金华;黄志鸿;雷立动;廖旺胜 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 统计信息 预设 收集条件 数据加工 数据加工处理 指令 即时更新 路径计算 最优路径 申请 保证 | ||
本申请提供了一种统计信息的收集方法及装置,通过在接收到数据加工完成指令时,获取待收集统计信息的表,并判断待收集统计信息的表是否满足预设收集条件,若满足,则按照预设收集策略,收集该待收集统计信息的表的当前统计信息,以实现每次对Oracle数据库中的表进行了数据加工处理后,及时对Oracle数据库中统计信息进行即时更新;可见,在接收到数据加工完成指令,且判断出待收集统计信息的表满足预设收集条件时,及时对待收集统计信息的表的最新统计信息进行收集,能够确保CBO进行SQL执行路径计算所采用的统计信息始终为最新的统计信息,进而保证了计算出的SQL执行路径为最优路径,提高了SQL的执行效率。
技术领域
本发明涉及数据库统计信息收集领域,更具体的说,是涉及一种统计信息的收集方法及装置。
背景技术
在Oracle数据库中,统计信息是指用于描述Oracle数据库中SQL相关对象:表和索引的物理特性的信息,如表的行数、表所占的磁盘空间、索引的行数等。Oracle数据库中的CBO(Cost Based Optimizer)可以根据当前收集到的统计信息,计算出SQL不同执行路径的成本,进而从中选择出一条成本最小的路径作为该SQL的执行计划。由此可见,Oracle数据库中统计信息的准确性,对CBO计算出成本最小的SQL执行路径具有显著影响。
目前,常用的统计信息的收集方法主要是利用Oracle数据库自带的统计信息自动收集功能来完成收集。然而,Oracle数据库自带的统计信息自动收集功能只有在规定时间段内,才能够用于收集SQL相关对象的统计信息。因此,当SQL相关对象的统计信息在规定时间段外失效时,Oracle数据库中的CBO却仍采用其在规定时间段内收集到的统计信息进行路径计算,从而导致计算出的SQL执行路径并非最低成本的路径,严重影响了SQL的执行效率。
发明内容
有鉴于此,本发明提供了一种统计信息的收集方法及装置,实现了统计信息的即时收集,进而提高了SQL的执行效率。
为实现上述目的,本发明提供如下技术方案:
一种统计信息的收集方法,包括:
在接收到数据加工完成指令时,获取待收集统计信息的表;
判断所述待收集统计信息的表是否满足预设收集条件,所述预设收集条件为所述待收集统计信息的表不为临时表,且所述待收集统计信息的表的统计信息未被锁定;
若所述待收集统计信息的表满足所述预设收集条件,按照预设收集策略,收集所述待收集统计信息的表的当前统计信息。
优选地,所述预设收集策略包括:
所述待收集统计信息的表为空表,且收集区域为子分区;
所述待收集统计信息的表为空表,且收集区域为分区;
所述待收集统计信息的表为空表,且收集区域为整表;
所述待收集统计信息的表为非空表,且收集区域为子分区;
所述待收集统计信息的表为非空表,且收集区域为分区;
其中,所述子分区属于所述分区,所述分区属于所述整表。
优选地,当所述预设收集策略为所述待收集统计信息的表为空表,且收集区域为子分区时,所述按照预设收集策略,收集所述待收集统计信息的表的当前统计信息,包括:
获取Oracle数据库的配置表;
判断所述待收集统计信息的表的处理次数是否达到所述配置表的最大处理次数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810531063.8/2.html,转载请声明来源钻瓜专利网。