oracle的基于成本的优化器(CBO)最令人郁闷的一点就是它看上去可能会不定期地改变SQL语句的执行计划的趋势。当然,这些改变并不是完全随机的。但因为优化器代码太复杂了,通常很难来确定执行计划为什么改变了。在多年以前oracle就已经认识到了这个问题,并至少在过去的10年中一直努力进行改善。他们提供了很多工具来识别执行计划在什么时候发生了改变以及为什么改变。同时他们还提供了很多工具允许你在不同层次上对优化器所选择的执行计划进行控制。
它的工作本质上就是计算出获取SQL语句指定的特定数据集的最快方法。一般来说,这必须使用预先计算好的关于所含对象的统计信息来在非常短的时间内完成。优化器通常没有时间来验证这些信息。之所以有这么紧的时间约束是因为解析是一个串行运算。因此,数据库需要尽可能少做,并尽可能快速完成;否则,解析可能会成为可扩展性的一个严重的瓶颈。那么执行计划为什么会改变呢?CBO的主要输入有3个:
- 统计信息——与SQL语句所引用的对象相关
- 环境——例如与优化器相关的参数设置
- SQL——语句本身
因此,除非上面3点中的某一个改变了,否则执行计划是不应该变化的。我相信计划不稳定性导致的挫败感主要是由于我们认为任何事情都没有变化,而实际上某些事情的确发生了变化。
- 调整查询结构
- 适当使用常量
- 给优化器一些提示
统计信息的变化和绑定变量窥视是引起计划不稳定的最主要原因
。说来也怪,统计信息的更新没有跟上数据的变化是导致执行计划稳定的另一个常见原因。但是在这三个方面中,绑定变量窥视可能是最广泛也是最难对付的原因。尽管大多数用户并不十分情愿关闭绑定变量窥视特性,这一点是可以理解的,但将它完全关闭实际上是可行的选择。有很多生产系统都采用了这种方法。例如,SAP标准配置的一部分就是将_optim_peek_user_binds参数设置为false(关闭
绑定变量窥视参数)
。这可能会阻止优化器对于某一系列的查询选择绝对意义上的最优执行计划,但却得到了更具一致性的环境。除了将绑定变量关闭以外,在需要直方图信息处理偏态数据分布的列上恰当使用常量,实际上是在处理计划稳定性问题的同时,还能使得优化器具有选择绝对最优执行计划能力的唯一有效途径。注意:关闭绑定变量窥视不会影响是用cbo还是rbo,就算关闭了绑定变量窥视,cbo还是会利用别的统计信息(num_distinct,density等)来评估cost和cardinality,只是无法使用直方图信息而已
分享到:
相关推荐
Oracle 执行计划稳定性是数据库性能调优的关键环节。执行计划是Oracle数据库为了执行SQL查询而制定的详细操作步骤,它决定了数据如何被访问、如何排序、如何聚合等一系列操作。执行计划的选择直接影响到查询的效率,...
总之,Oracle执行计划的稳定性与数据库性能紧密相关,理解并掌握优化器的工作原理以及如何控制执行计划的选择,是优化数据库性能的关键。在基于代价的优化器模式下,虽然存在执行计划不稳定的可能,但通过合理管理和...
标题中的“基于AFS和DYC集成控制的分布式驱动电动汽车横摆稳定性控制”涉及的是一个针对电动汽车稳定性的研究,特别是关注分布式驱动电动汽车的横摆稳定性。AFS(Adaptive Front-lighting System)通常指的是自适应...
生产计划与控制是制造企业运营管理的核心内容之一。它涉及对生产过程中的物料需求计划(Material Requirements Planning, MRP)、库存管理、生产调度和生产控制等方面的规划和决策。以下是从给定文件内容中提炼出的...
- **确保过程控制**:通过定义控制方法和参数,确保制造过程的一致性和稳定性。 - **监测和反馈**:设定监测机制,及时发现偏差并采取纠正措施。 - **持续改进**:为后续的持续改进活动提供基础数据和支持。 **2.2 ...
3. **SPC(统计过程控制)**:新版控制计划强调了使用统计方法监控过程稳定性,如使用控制图来分析数据,及时发现异常。 4. **防错技术(Poka-Yoke)**:引入防错理念,通过设计和工艺的改进,防止错误发生,降低...
Oracle的执行计划稳定性是数据库性能调优的关键环节。执行计划是数据库系统为了执行SQL查询而制定的详细操作步骤,它决定了数据如何被访问、处理和返回。本文将深入探讨Oracle执行计划的稳定性及其对SQL性能的影响。...
5. **车辆动力学模型**:构建此模型是为了理解和预测车辆的行为,对于路径跟踪和稳定性控制至关重要。 6. **轮胎力优化分配**:下层控制的关键,通过对四个轮胎施加不同的力来保证车辆稳定跟踪并防止侧翻。 7. **...
为了实现这一控制策略,研究人员建立了一个进气畸变气动稳定性模型,并将其嵌入到常规控制规律中,推导出了主动稳定性控制规律,从而制定了相应的控制策略。以某涡扇发动机为例,进行了ASC的仿真研究,结果显示在...
生产计划与控制是企业管理中的关键环节,涉及到企业的成本、效率和市场竞争力。以下是对相关知识点的详细阐述: 一、名词解释 1. 安全库存:安全库存是为了应对市场需求、生产周期或供应波动不确定因素而设定的库存...
《控制计划编制手册20150125.doc》是关于制造业质量控制的重要文档,主要阐述了如何制定有效的控制计划以确保产品质量和生产过程的稳定性。这份手册旨在为企业的生产和质量管理部门提供一套标准化的流程,以提升产品...
- 对于产品或过程的性能测试要求,应在控制计划中明确,以便进行定期验证,保证产品性能的稳定性。 8. **量具和试验设备的可用性**: - 根据控制计划的需求,确保有足够的、准确的量具和试验设备,以执行所需的...
在电子制造领域,高TG(玻璃化转变温度)板材因其优良的耐热性、机械性能和化学稳定性...通过细致的工艺控制、严格的质量检测和完善的流程管理,可以有效地提高特种PCB的生产质量和合格率,确保产品的稳定性和可靠性。
该文档是关于某公司产品质量持续稳定性考察的年度计划,旨在确保所有生产品种的质量稳定性,为患者提供安全、有效的药物,并为确定各品种的有效期提供数据支持。文档主要分为四个部分: 1. 稳定性考察要点: 文档...
根据提供的信息,我们可以推断出这是一篇关于“生产计划与控制”的课程设计论文,主要面向工业工程专业的学生。下面将对这一主题进行详细的解析,包括生产计划与控制的基本概念、重要性、以及如何在实际工作中应用...
#资源达人分享计划#
总的来说,控制计划是确保产品质量和过程稳定性的基石,它通过规范化的步骤和严格的监控,帮助企业在整个生产周期内维持高标准的质量水平。无论是对于内部生产管理还是外部供应商评估,理解并正确执行控制计划都是...
报告由国际管理咨询公司Roland Berger & Partners编制,详细阐述了业务计划与控制体系的重要性和实施步骤。 业务计划与控制体系是企业运营的核心组成部分,它能够帮助企业从被动应对市场转变为积极引导市场,超越...