标签:
术语:
数据库hang住:hang/hæ?/n:悬挂的样子; (动作的) 暂停; vt/vi悬挂; (被) 绞死; 贴,装饰; 使悬而未决;
optimizer/‘ɑ:pt?ma?z?r/:优化器、[计]优化程序、最优控制
access path:执行路径
一)优化器简介
优化器(Optimizer)是Oracle数据库中内置的一个核心子系统/核心功能组件。
优化器负责解析SQL,而SQL语句是用来访问存储在关系型数据库中的数据的,故优化器的好坏决定关系型数据库的强弱
优化器的目的:按照一定的判断原则来确认目标SQL在当前情形下的最高效的执行路径(access path)/
为了得到目标SQL的执行计划
Oracle数据的优化器分两种:RBO(Rule-Based Optimizer)直译“基于规则的优化器”
CBO(Cost-Based Optimizer) .......“基于成本的优化器”
RBO:判断原则是以一种内置的硬编码在Oracle数据库的代码中的规则
CBO:从目标SQL诸多执行可能中选择成本值最小的一条来执行计划,成本值:根据目标SQL所涉及的表、索引、列等
相关对象统计信息计算得出
Oracle数据从库SQL语句的执行过程如下:
待执行的SQL语句——>解析——> |查询转换——>Query Optimization:CBO|RBO|——>执行计划——>实际执行
—>目标SQL的执行结果返回给用户|----------- 属于优化器范畴 ------------------|
二)RBO基于规则的优化器
标签:
原文地址:http://www.cnblogs.com/aishangliuling/p/5496689.html