速盈注册
Oracle - 优化器(Optimizer)- 01概念
发布时间:2024-03-11 13:09:20 浏览次数:
Oracle市场占有率近50%,是使用范围最广的关系型数据库(RDBMS)
对于关系型数据库的应用系统而言,SQL语句的好坏会直接影响系统的性能,很多系统性能很差最后发现都是因为SQL些的很烂的缘故。
对所有的关系型数据库而言,优化器无疑时其中最核心的部分,因为优化器负责解析SQL,而我们又都是通过SQL来访问存储在关系型数据库中的数据的。所以优化器的好坏会直接决定该关系型数据库的强弱。
优化器负责解析SQL,所以想要做好SQL优化,就必须了解优化器。
optimizer是Oracle数据库中内置的一个核心子系统。优化器的目的时按照一定的判断原则来得到它认为的目标SQL在当前情形下最高效的执行路径(Access Path),也就是说,优化器的目的就是为了得到目标SQL的执行计划。
Oracle数据库里的优化器又分为RBO和CBO这两种类型
- RBO : Rule-Based Optimizer,基于规则的优化器
- CBO : Cost-Based Optimizer,基于成本的优化器
RBO :所用的判断原则为一组内置的规则,这些规则硬编码在Oracle数据库的代码中,RBO会根据这些规则从诸多可能的执行路径中选择一条来座位其执行计划
CBO : 所用的判断原则为成本,CBO会从目标SQL诸多可能的执行路径中选择成本值最小的一条来作为其知行计划,各个知行路径的成本值时根据目标SQL所涉及的表、索引、列等相关对象的统计信息计算出来的。
Oracle里优化器的输入时经过解析后(在这个解析过程中,Oracle会执行对目标SQL的语法、语义和权限检查)的目标SQL,输出是该目标SQL的执行计划
地址:海南省海口市58号 电话:0898-88889999 手机:13988888888
Copyright © 2012-2018 首页-速盈娱乐-注册登录站 ICP备案编号:琼ICP备88889999号