什么是 oracle 的 CBO?什么 RBO?什么情况下 oralce 使用 CBO?

今天爱分享给大家带来什么是 oracle 的 CBO?什么 RBO?什么情况下 oralce 使用 CBO?,希望能够帮助到大家。
Oracle 的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称
为 RBO)和基于代价的优化方式(Cost-Based Optimization,简称为 CBO),在 Oracle8 及以后的
版本,Oracle 强列推荐用 CBO 的方式
RBO 方式:优化器在分析 SQL 语句时,所遵循的是 Oracle 内部预定的一些规则。比如我
们常见的,当一个 where 子句中的一列有索引时去走索引。
CBO 方式:它是看语句的代价(Cost),这里的代价主要指 Cpu 和内存。优化器在判断是否
用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每行
的长度等信息。这些统计信息起初在库内是没有的,是做 analyze 后才出现的,很多的时侯
过期统计信息会令优化器做出一个错误的执行计划,因些应及时更新这些信息。

人已赞赏
Java

oracle 的 SGA、PGA 是什么? 有什么用?【面试题详解】

2020-12-8 15:17:21

Java

JavaScript 有哪几种数据类型?【面试题详解】

2020-12-8 15:30:50