What is the Difference Between RBOB and CBOB?

🆚 Go to Comparative Table 🆚

The main difference between RBOB (Rule-Based Optimizer) and CBOB (Cost-Based Optimizer) lies in how they determine the execution plan for a SQL statement. Here are the key differences between the two:

  1. Approach: RBOB uses a set of rules to determine the execution plan, while CBOB estimates the cost of each possible execution plan and chooses the plan with the lowest cost based on factors such as the number of rows, joins, and index sizes.
  2. Evolution: CBOB has evolved with each Oracle release to become more robust and intelligent, while RBOB does not produce optimal plans in several scenarios and does not work with newer features of Oracle, such as partitioned tables.
  3. Data Volume and Distribution: CBOB takes into account data volume and distribution while determining the access path, while RBOB does not.
  4. Stats Gathering: For optimal CBOB execution plans, statistics should be updated and realistic. In contrast, stats gathering has no impact on RBOB execution plans.
  5. Impact of FROM Clause Table Order: Table order in the FROM clause can impact CBOB execution plans, but it has no impact on RBOB execution plans.

In summary, CBOB is generally considered more accurate and efficient than RBOB, as it takes into account data volume, distribution, and other factors to estimate the cost of each execution plan and choose the optimal one. However, RBOB is a simpler technique that uses a set of rules to determine the execution plan, which can lead to suboptimal plans in certain scenarios.

Comparative Table: RBOB vs CBOB

RBOB and CBOB are not mentioned in the search results. However, the search results discuss CBO (Cost-Based Optimizer) and RBO (Rule-Based Optimizer), which are two different query optimization approaches in Oracle databases. Here is a comparison table of the differences between CBO and RBO:

Feature CBO RBO
Stands for Cost-Based Optimizer Rule-Based Optimizer
History Introduced in Oracle 7 (1992), evolved with every Oracle release since then Oracle 7 (1992), does not evolve with Oracle releases
Optimizer Plan Builds an optimizer plan using statistics and math to make an educated guess at the lowest cost Follows a set of rules mostly based on indexes and types of indexes
Data Volume and Distribution Takes into account data volume and distribution while determining the access path Does not take into account data volume and distribution while determining the access path
Stats Gathering Required? Yes, for optimal CBO execution plans, stats should be updated and realistic No, stats gathering has no impact on RBO execution plans
Impact of FROM clause table order Table order in the FROM clause can impact the CBO's performance Table order in the FROM clause does not impact the RBO's performance

Please note that RBOB and CBOB are not mentioned in the search results, and the search results discuss CBO and RBO instead.