[发明专利]一种统计信息收集优化方法及系统有效
申请号: | 202010459210.2 | 申请日: | 2020-05-27 |
公开(公告)号: | CN111625553B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 杨永锋;陈赟人;顾海燕 | 申请(专利权)人: | 贵州易鲸捷信息技术有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2458 |
代理公司: | 北京卿阳专利代理事务所(普通合伙) 16214 | 代理人: | 陈大朝 |
地址: | 550000 贵州省贵阳市贵阳综*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 统计 信息 收集 优化 方法 系统 | ||
本发明公开了一种统计信息收集优化方法及系统,在目标表和原表的列兼容的情况下,利用原表的统计信息为目标表直接生成统计信息。本发明公开提供了一种统计信息收集优化方法及系统,利用原表的统计信息,在目标表和原表的列兼容的情况下,可以为目标表直接生成统计信息,减少了目标表扫描数据和重新计算统计信息直方图的时间,大大提升了产生统计信息的效率。
技术领域
本发明涉及数据库技术领域,更具体的说是涉及一种统计信息收集优化方法及系统。
背景技术
现在主流的数据库的优化器可以分为两种,基于规则的优化器(Rule-BasedOptimizer,简称为RBO)与基于成本的优化器(Cost-Based Optimizer,简称为CBO)。
基于规则的优化器(RBO),是基于数据库内部预定的一些规则来对SQL进行优化,它对数据不敏感,只借助少量的信息来决定一个SQL语句的执行计划
基于成本的优化器(CBO),通过估算每个执行计划所需的成本,将每个执行计划所耗费的资源进行量化,最后选出成本最小的执行计划作为最优的执行计划。优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。
统计信息记录表的大小、行数、每行的长度、每列数据的分布区间等信息。而统计信息最初是没有的,需要通过后期收集才能生成。统计信息的收集主要分成两部分:数据的采集和生成直方图。数据的采集可以是采集全量数据,也可以是采集一部分数据,如果是部分数据,则牵涉到一个采样率,即读取原数据的多少比例作为采样数据。例如十分之一,百分之一,可以根据需要自行设置。直方图是对采样完的数据进行汇总计算,计算出表的总行数、各列数据总的非重复值的数量、直方图的区间范围以及直方图各区间内的行数和非重复值的数量。另外根据实际的查询需要,用户也可以收集组合列的统计信息。
因此对于新创建的表在导入数据后,为了生成最优的执行计划,首先需要收集统计信息。另外在表的结构或字段类型发生变化时,也需要重新收集统计信息。
为了持续的保持统计信息的准确性,可以通过下面两种方式:
1)定期基于表上的数据生成新的统计信息
2)定期基于变动的数据更新现有的统计信息,步骤大致如下:
a.第一次基于全表的采样数据生成一张采样数据表;
b.在生成的采样数据表上生成汇总的直方图信息;
c.有数据变动时,通过sql把变动的数据采样导入到采样数据表;
d.在采样数据表上再次生成原表的统计信息;
统计信息的直方图可以基于全量数据或部分采样数据的汇总结果生成。如果是基于全量数据生成直方图,在表的数据量非常大的时候,一个是数据的读取非常慢,另外,数据的汇总计算也比较耗时。如果是基于部分采样数据来生成直方图,虽然汇总计算的时间会变短,但是数据采样时也要进行表的全表扫描,整个扫描时间是不可避免的。
对于增量生成统计信息的情况,如果原表的表结构发生变化,导致原表被重建,采样数据表就会失效,需要重新生成采样数据表,这也就又导致了原表的全表扫描,耗时比较长。
另外,需要基于原表生成测试表,测试表的统计信息需要重新生成,耗时较长。
因此,如何提供一种减少目标表扫描数据和重新计算统计信息直方图的时间,大大提升产生统计信息的效率的统计信息收集优化方法及系统是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种统计信息收集优化方法及系统,利用原表的统计信息,在目标表和原表的列兼容的情况下,可以为目标表直接生成统计信息,减少了目标表扫描数据和重新计算统计信息直方图的时间,大大提升了产生统计信息的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州易鲸捷信息技术有限公司,未经贵州易鲸捷信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010459210.2/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置