【MOS】Limitations of the Oracle Cost Based Optimizer (文档 ID 212809.1)

简介: 【MOS】Limitations of the Oracle Cost Based Optimizer (文档 ID 212809.1) APPLIES TO: Oracle Database - Personal Edition - Version 7.

【MOS】Limitations of the Oracle Cost Based Optimizer (文档 ID 212809.1)




APPLIES TO:

Oracle Database - Personal Edition - Version 7.1.4.0 and later
Oracle Database - Enterprise Edition - Version 6.0.0.0 and later
Oracle Database - Standard Edition - Version 7.0.16.0 and later
Information in this document applies to any platform.

PURPOSE

This Document outlines some of the limitations that may be encountered when using the Cost Based Optimizer.

SCOPE

Cost Based Optimizer Limitations

The Cost Based Optimizer (CBO) uses a complex and comprehensive model to choose the plan with the lowest cost overall. In most cases the model picks the best access methods for accessing the data in the most efficient manner. However, even with computed statistics and column histograms it is possible for the Cost Based Optimizer to choose a sub-optimal plan. There are limitations to the Cost model that can affect queries in some circumstances. Some of these are listed and explained below:

DETAILS

  • Potential for incorrect estimation of intermediate result set cardinality

    Cardinality is the CBO estimate of the number of rows produced by a row source or combination of row sources. In some cases, the cardinality of result sets can be miscalculated. This is most common with complex predicates where the statistics do not accurately reflect the data or where predicate values are correlated. The following is an illustration of a statement featuring correlated predicates:

    >

         >   

     

      

     
  • <><> 



  •   

  •  

     

     

     

     

     

     
     
     

     

  •  

  • <> 

     

     


 
 
 
 

 
 
 
 

 







 

    


DBA笔试面试讲解
欢迎与我联系

目录
相关文章
|
存储 Oracle 关系型数据库
ORACLE:根据父id查询所有子孙数据,或者根据子id查询所有父数据(start with connect by prior)
一、需求: 我们在开发中经常遇到一种数据库表的设计:一个表中包含父子信息数据,也就是常说的树形数据. —> 最常见的例子就是省市区一体表,就是通过id、pid、level来进行控制,从而一张表来存储数据.我们进行拿数据的时候,不用再连表拿取,直接通过(start with connect by prior)直接便利就会得到数据.
745 2
ORACLE:根据父id查询所有子孙数据,或者根据子id查询所有父数据(start with connect by prior)
|
2月前
|
SQL Oracle 关系型数据库
Oracle19c静默部署文档
本文档详细介绍了如何在Linux环境下静默部署Oracle 19c数据库。内容涵盖系统基础配置、用户及目录创建、系统配置文件修改、数据库安装与配置、监听配置与启动,以及数据库的启动与关闭操作。此外,还提供了SQL*Plus的改进方法和Navicat远程连接Oracle的解决方案。通过步骤化的指导,帮助读者顺利完成Oracle 19c的安装与配置。文档适用于Oracle 21C及之前的版本,附带多张示意图,便于理解和操作
Oracle19c静默部署文档
|
5月前
|
Oracle 关系型数据库 Linux
Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
Requirements for Installing Oracle Database/Client 19c on OL8 or RHEL8 64-bit (x86-64) (Doc ID 2668780.1)
49 0
|
6月前
|
Oracle 关系型数据库 Linux
Oracle Linux: How To Disable NUMA At OS Level (Doc ID 2193586.1)
Oracle Linux: How To Disable NUMA At OS Level (Doc ID 2193586.1)
68 1
|
6月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之如何获取 Oracle 自增 ID
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Oracle 关系型数据库
ORACLE中设置ID自增详细
ORACLE中设置ID自增详细
264 0
|
SQL 分布式计算 运维
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
上一篇文章介绍了sqoop全量同步数据到hive, 本片文章将通过实验详细介绍如何增量同步数据到hive,以及sqoop job与crontab定时结合无密码登录的增量同步实现方法。
【大数据开发运维解决方案】Sqoop增量同步mysql/oracle数据到hive(merge-key/append)测试文档
Zp
|
SQL Oracle 关系型数据库
Oracle sql使用sys_guid() 生成32位id乱码解决办法
Oracle sql使用sys_guid() 生成32位id乱码解决办法
Zp
2854 0
Oracle sql使用sys_guid() 生成32位id乱码解决办法
|
SQL Oracle 关系型数据库
使用PL/SQL Developer给Oracle生成漂亮的数据库说明文档
使用PL/SQL Developer给Oracle生成漂亮的数据库说明文档
284 0
使用PL/SQL Developer给Oracle生成漂亮的数据库说明文档
|
Oracle 关系型数据库
Oracle多条重复id,查询时间最早的那条
Oracle多条重复id,查询时间最早的那条
140 0