[发明专利]生成数据库分区执行计划的方法及装置有效
申请号: | 201010190138.4 | 申请日: | 2010-05-25 |
公开(公告)号: | CN102262636A | 公开(公告)日: | 2011-11-30 |
发明(设计)人: | 王晓征;肖爱元;李杰毅 | 申请(专利权)人: | 中国移动通信集团浙江有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
地址: | 310006 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 数据库 分区 执行 计划 方法 装置 | ||
1.一种生成数据库分区执行计划的方法,其特征在于,该方法包括:
获取数据库分区统计信息量满足预设条件的分区作为非标准分区;
根据非标准分区的分区统计信息量以及预设条件,从具有索引扫描执行计划的标准分区中选取预定比率的数据对象;
更新选取的预定比率的数据对象中存在主键或唯一性约束的字段,生成虚拟化数据对象;
将虚拟化数据对象插入非标准分区中并更新数据库中存储的非标准分区的分区统计信息;
根据分区的数据对象的分区统计信息量生成执行计划。
2.如权利要求1所述的方法,其特征在于,所述分区统计信息量包括:分区字节大小、物理片段大小、分区块数、数据片段块数、索引片段块数、分区记录行数以及索引记录数中的一个或其任意组合。
3.如权利要求2所述的方法,其特征在于,所述预设条件包括:分区的物理片段大小小于10兆、且该分区的物理片段大小与数据库中最大三个分区的片段大小的平均值之比小于0.01;或,
分区的分区记录行数小于1000条、且该分区的分区记录行数与数据库中最大三个分区的分区记录行数的平均值之比小于0.01。
4.如权利要求1所述的方法,其特征在于,通过调用数据库中的dbms_stats.set_table_stats系统程序包更新所述选取的预定比率的数据对象中存在主键或唯一性约束的字段。
5.如权利要求1所述的方法,其特征在于,在所述更新数据库中存储的非标准分区的分区统计信息后,进一步包括:数据库查询所述非标准分区的分区统计信息量是否满足预设条件,如果不满足,执行所述根据分区的数据对象的分区统计信息量生成执行计划的步骤。
6.如权利要求1至5任一项所述的方法,其特征在于,进一步包括:删除插入非标准分区的虚拟化数据对象。
7.如权利要求6所述的方法,其特征在于,进一步包括:锁定存储的分区统计信息量。
8.一种生成数据库分区执行计划的装置,其特征在于,该装置包括:分区划分模块、分区模块、分区统计信息量获取模块、数据对象量计算模块、数据对象虚拟化模块、执行计划生成模块,其中,
分区划分模块,用于将数据库中数据对象按照预设规则进行划分,输出至分区模块;
分区模块,用于分别存储分区划分模块划分的数据对象;
分区统计信息量获取模块,用于获取分区模块中数据对象的分区统计信息量,如果分区统计信息量不满足预设条件,将该分区统计信息量信息输出至数据对象量计算模块;
数据对象虚拟化模块,用于根据接收的需要选取的数据对象量,从标准分区中选取预定比率的数据对象,并更新选取的预定比率的数据对象中存在主键或唯一性约束的字段,生成虚拟化数据对象,输出至相应的分区模块中,并触发执行计划生成模块;
执行计划生成模块,用于根据接收的触发信息,从分区统计信息量获取模块中获取触发信息对应的分区模块的分区统计信息量,根据分区统计信息量生成执行计划。
9.如权利要求8所述的装置,其特征在于,所述分区模块进一步用于在获知执行计划生成模块为该分区模块生成索引扫描的执行计划后,删除插入的虚拟化数据对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司,未经中国移动通信集团浙江有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010190138.4/1.html,转载请声明来源钻瓜专利网。