数据库智能统计信息管理方法、系统、设备及介质技术方案

技术编号:38555782 阅读:10 留言:0更新日期:2023-08-22 20:59
本发明专利技术公开了数据库智能统计信息管理方法、系统、设备及介质,属于数据库技术领域,本发明专利技术要解决的技术问题为目前数据库产品过度收集统计信息带来的性能下降以及因无用统计信息更新带来的性能损耗,采用的技术方案为:该方法具体如下:从数据库内核中采集语句级统计信息使用情况;将统计信息使用情况存入自治数据仓库;从自治数据仓库获取统计信息历史使用情况进行分析,当统计信息未使用时间达到阈值后标记为无用统计信息;根据分析情况展示无用统计信息,当统计信息不在白名单中时,给出统计信息删除建议。该系统包括数据采集及存储模块、数据分析模块和统计信息展示模块。数据分析模块和统计信息展示模块。数据分析模块和统计信息展示模块。

【技术实现步骤摘要】
数据库智能统计信息管理方法、系统、设备及介质


[0001]本专利技术涉及数据库
,具体地说是一种数据库智能统计信息管理方法、系统、设备及介质。

技术介绍

[0002]数据库作为核心关键基础软件,是数字信息基础设施的重要组成部分。优化器是数据库内核中最重要的组件之一,优化器的好坏直接关系到查询处理效率,统计信息是数据库优化器进行基数估计和代价估算的基础,在数据表修改行数占比达到阈值时,需要触发统计信息更新以保证优化器代价估算的准确性。但统计信息更新需要消耗CPU及IO资源,如果更新后的统计信息不会被使用,则更新这些统计信息会给数据库系统带来不必要的负担。
[0003]工业界已有数据库产品往往由用户自主决定哪些统计信息需要更新,例如TiDB会对用户手动收集的统计信息进行自动更新,即使这些统计信息后续过程不会被数据库优化器再次使用,这是因为其没有建立数据仓库来存储统计信息历史使用情况,无法对统计信息的有用性作出决策。TiDB采取的这种方式对数据库管理员要求很高,数据库管理员需要定期对工作负载进行分析,找出有用的统计信息,交给TiDB自动更新。SQL Server和DB2可以自动识别出缺失的统计信息,并对他们进行自动更新,但由于工作负载内的SQL存在更新和变动,所以曾经有用的统计信息,后续可能不再被使用,对这些统计信息的自动更新将是不必要的。此外,Oracle默认为每个表的所有列进行统计信息自动更新,这种方案虽然避免了因统计信息缺失带来的计划选择错误问题,但也增加了统计信息自动更新的开销。
[0004]现有数据库产品存在过度收集统计信息的隐患,这些产品尽可能全面地收集统计信息,以帮助数据库优化器选出最优执行计划,提高查询执行效率。但这些统计信息中存在一些永远不会被使用的部分,原因在于表中有些字段从来不会出现在SQL过滤条件中。
[0005]总之,现有技术没有结合负载历史执行情况来管理统计信息,这会引起无用统计信息的频繁更新,造成数据库整体吞吐量下降。

技术实现思路

[0006]本专利技术的技术任务是提供一种数据库智能统计信息管理方法、系统、设备及介质,来解决目前数据库产品过度收集统计信息带来的性能下降以及因无用统计信息更新带来的性能损耗的问题。
[0007]本专利技术的技术任务是按以下方式实现的,一种数据库智能统计信息管理方法,该方法具体如下:从数据库内核中采集语句级统计信息使用情况;将统计信息使用情况存入自治数据仓库;从自治数据仓库获取统计信息历史使用情况进行分析,当统计信息未使用时间达到阈值后标记为无用统计信息;
根据分析情况展示无用统计信息,当统计信息不在白名单中时,给出统计信息删除建议。
[0008]作为优选,根据统计信息历史使用情况,设定如下分析规则:规则一:当统计信息从未使用过,且上次收集时间到当前的时间间隔超过unused_threshold时,则给出统计信息删除建议,删除原因为“统计信息创建x天内未使用”;规则二:当统计信息使用过,使用次数未达到K,且上次使用时间到当前的时间间隔超过no_further_use_threshold时,则给出统计信息删除建议,删除原因为“最近y天未使用该统计信息”;规则三:当统计信息使用过,使用次数达到K,最近K次使用的平均时间间隔为mean_interval,且上次使用时间到当前的时间间隔超过no_further_use_threshold和n倍mean_interval中的最大值时,则给出统计信息删除建议,删除原因为“统计信息未使用时间超过n倍历史平均值”;其中,K表示统计信息使用次数,默认值为10次;unused_threshold表示允许统计信息收集后不使用的最大时间间隔,默认值为7天;no_further_use_threshold表示允许的统计信息两次使用之间的最大时间间隔,默认值为14天;n表示允许的统计信息两次使用之间的最大时间间隔与统计信息平均使用间隔的比值。
[0009]更优地,分析规则具体适用情况如下:若统计信息的历史使用次数为0,则选择规则一;若统计信息的历史使用次数大于0但小于K,则选择规则二;若统计信息的历史使用次数大于等于K,选择规则三。
[0010]一种数据库智能统计信息管理系统,该系统包括数据采集及存储模块、数据分析模块和统计信息展示模块;数据采集及存储模块用于从数据库内核中收集语句级统计信息使用情况,记录每条语句使用到的统计信息列组及使用时间,并将采集到的数据存入自治数据仓库;数据分析模块用于从自治数据仓库中取出每一条统计信息的最近K次使用情况,分析是否需要删除;统计信息展示模块用于将数据分析模块的结论展示给用户,并提供删除原因,由用户决定是否需要删除统计信息。
[0011]作为优选,自治数据仓库用于存储每条统计信息的最近K次使用情况,减少存储资源的消耗和提高查询效率。
[0012]更优地,所述数据分析模块包括分析引擎,分析引擎根据统计信息历史使用情况,设定如下分析规则:规则一:当统计信息从未使用过,且上次收集时间到当前的时间间隔超过unused_threshold时,则给出统计信息删除建议,删除原因为“统计信息创建x天内未使用”;规则二:当统计信息使用过,使用次数未达到K,且上次使用时间到当前的时间间隔超过no_further_use_threshold时,则给出统计信息删除建议,删除原因为“最近y天未使用该统计信息”;规则三:当统计信息使用过,使用次数达到K,最近K次使用的平均时间间隔为mean_interval,且上次使用时间到当前的时间间隔超过no_further_use_threshold和n倍
mean_interval中的最大值时,则给出统计信息删除建议,删除原因为“统计信息未使用时间超过n倍历史平均值”;其中,K表示统计信息使用次数,默认值为10次;unused_threshold表示允许统计信息收集后不使用的最大时间间隔,默认值为7天;no_further_use_threshold表示允许的统计信息两次使用之间的最大时间间隔,默认值为14天;n表示允许的统计信息两次使用之间的最大时间间隔与统计信息平均使用间隔的比值。
[0013]更优地,分析规则具体适用情况如下:若统计信息的历史使用次数为0,则选择规则一;若统计信息的历史使用次数大于0但小于K,则选择规则二;若统计信息的历史使用次数大于等于K,选择规则三。
[0014]更优地,所述统计信息展示模块包括无用统计展示页面、权限控制信息展示页面、统计信息白名单展示页面及统计信息删除风险提示信息展示页面;无用统计信息展示页面展示内容包括统计信息总览界面和统计信息详情界面;其中,统计信息总览界面用于展示每个数据库的统计信息总数量,并提示用户每个数据库有多少统计信息删除建议;统计信息详情界面用于展示统计信息包含的列组、上一次使用时间、上一次收集时间和标记删除原因,用户根据统计信息决定将统计信息加入白名单或者执行删除操作;权限控制信息展示页面用于展示权限信息,为了避免普通用户执行统计信息删除这样的高危操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库智能统计信息管理方法,其特征在于,该方法具体如下:从数据库内核中采集语句级统计信息使用情况;将统计信息使用情况存入自治数据仓库;从自治数据仓库获取统计信息历史使用情况进行分析,当统计信息未使用时间达到阈值后标记为无用统计信息;根据分析情况展示无用统计信息,当统计信息不在白名单中时,给出统计信息删除建议。2.根据权利要求1所述的数据库智能统计信息管理方法,其特征在于,根据统计信息历史使用情况,设定如下分析规则:规则一:当统计信息从未使用过,且上次收集时间到当前的时间间隔超过unused_threshold时,则给出统计信息删除建议,删除原因为“统计信息创建x天内未使用”;规则二:当统计信息使用过,使用次数未达到K,且上次使用时间到当前的时间间隔超过no_further_use_threshold时,则给出统计信息删除建议,删除原因为“最近y天未使用该统计信息”;规则三:当统计信息使用过,使用次数达到K,最近K次使用的平均时间间隔为mean_interval,且上次使用时间到当前的时间间隔超过no_further_use_threshold和n倍mean_interval中的最大值时,则给出统计信息删除建议,删除原因为“统计信息未使用时间超过n倍历史平均值”;其中,K表示统计信息使用次数,默认值为10次;unused_threshold表示允许统计信息收集后不使用的最大时间间隔,默认值为7天;no_further_use_threshold表示允许的统计信息两次使用之间的最大时间间隔,默认值为14天;n表示允许的统计信息两次使用之间的最大时间间隔与统计信息平均使用间隔的比值。3.根据权利要求2所述的数据库智能统计信息管理方法,其特征在于,分析规则具体适用情况如下:若统计信息的历史使用次数为0,则选择规则一;若统计信息的历史使用次数大于0但小于K,则选择规则二;若统计信息的历史使用次数大于等于K,选择规则三。4.一种数据库智能统计信息管理系统,其特征在于,该系统包括数据采集及存储模块、数据分析模块和统计信息展示模块;数据采集及存储模块用于从数据库内核中收集语句级统计信息使用情况,记录每条语句使用到的统计信息列组及使用时间,并将采集到的数据存入自治数据仓库;数据分析模块用于从自治数据仓库中取出每一条统计信息的最近K次使用情况,分析是否需要删除;统计信息展示模块用于将数据分析模块的结论展示给用户,并提供删除原因,由用户决定是否需要删除统计信息。5.根据权利要求4所述的数据库智能统计信息管理系统,其特征在于,自治数据仓库用于存储每条统计信息的最近K次使用情况。6.根据权利要求4或5所述的数据库智能统计信息管理系统,其特征在于,所述数据分析模块包括分析引擎,分析引擎根据...

【专利技术属性】
技术研发人员:冷友方柳壮赵衎衎高熙越李辉崔江涛
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1