[发明专利]一种代价优化器与代价估计的方法及其设备有效
申请号: | 201711175349.9 | 申请日: | 2017-11-22 |
公开(公告)号: | CN107885865B | 公开(公告)日: | 2019-12-10 |
发明(设计)人: | 夏立;陈振强 | 申请(专利权)人: | 星环信息科技(上海)有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 31243 上海百一领御专利代理事务所(普通合伙) | 代理人: | 佘猛;邵栋 |
地址: | 200233 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代价 优化 估计 方法 及其 设备 | ||
本申请的目的是提供一种代价优化器与代价估计的方法及其设备,本申请通过判断获取到的统计信息是否完备,若否,则根据依赖于所述统计信息的操作树的操作类型确定对应的代价估计方式;基于所述代价估计方式确定所述对应操作类型的代价估计;根据依赖于所述统计信息操作类型对应的代价估计及未依赖于统计信息的操作类型对应的代价估计确定所述操作树的累积代价估计。从而对于运行时创建临时表和子查询可以进行代价估算,实现对海量数据的场景不受数据规模限制。
技术领域
本申请涉及计算机领域,尤其涉及一种代价优化器与代价估计的方法及其设备。
背景技术
代价优化器(CBO,Cost Based Optimizer)是数据库系统中的核心部件,由于对数据库系统的性能影响显著,因而在现代数据库系统中占据重要地位。代价优化器的核心是代价估计模型,用于对数据库系统生成的执行计划进行代价估计,从而选择最优的执行计划。估计模型的好坏影响最终执行计划的优劣。代价优化器基于目标数据的统计信息对执行计划进行优化,统计信息的完整性和精确性直接影响到估计模型对执行计划的估计。
一般代价优化步骤和不足:
进行代价优化需要统计信息,因此收集完整而精确的统计信息是所有代价优化器必不可少的环节。代价优化器优化的目标是生成最优的执行计划。在数据库系统中,执行计划一般用操作树表示,操作树由不同类型的操作构成,典型的操作树包括扫表、选择、过滤、聚合、连接、投影等。基于统计信息,代价优化器可以借助代价估算模型,对执行计划的每一步操作进行代价估算,并从所有可能的执行计划中选取整体代价最小者作为最终的执行计划,由此就完成了整个代价优化的过程。从中可知,代价优化器的核心在于基于统计信息的代价估算,统计信息是代价优化器的基础。
现有的代价优化器需要统计信息,在缺少必要统计信息的情况下无法完成代价优化,例如,运行时创建的临时表或者存在子查询的场景,在编译阶段不能确定其统计信息,因此无法利用代价优化。另一方面,当代价优化器被应用到大数据系统中时,处理海量数据成为典型的应用场景,对于海量数据的统计信息收集,代价巨大,甚至成为应用代价优化器的瓶颈所在。最后,对于给定的数据集,并非需要对全量数据收集统计信息,基于部分统计信息也可能得到最优计划。在统计信息不完整或者不可获取的情况下,现有代价优化器失效。
本申请的一个目的是提供一种代价优化器与代价估计的方法及其设备,解决现有技术中统计信息不完备时无法进行代价估计的问题。
根据本申请的一个方面,提供了一种代价估计的方法,该方法包括:
判断获取到的统计信息是否完备,若否,则根据依赖于所述统计信息的操作树的操作类型确定对应的代价估计方式;
基于所述代价估计方式确定所述对应操作类型的代价估计;
根据依赖于所述统计信息的操作类型对应的代价估计及未依赖于统计信息的操作类型对应的代价估计确定所述操作树的累积代价估计。
进一步地,所述依赖于所述统计信息的操作树的操作类型包括扫表操作、过滤操作、连接操作和聚合操作。
进一步地,所述方法还包括:
根据所述累积代价优化结构化查询语言语句对应的执行计划。
进一步地,基于所述代价估计方式确定所述对应操作类型的代价估计,包括:
根据数据集的记录数确定扫表操作的代价估计;
根据过滤谓词的类型确定过滤条件的选择率之后,根据所述选择率确定过滤操作的代价估计;
根据确定的连接结果集的记录数确定连接操作的代价估计;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星环信息科技(上海)有限公司,未经星环信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711175349.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于无线通信的智能化警示牌
- 下一篇:矿用自卸车挡泥板安装座结构