• 为什么基于价钱的优化器做犯错误选择


      本源:网海拾贝





    基于价钱的优化器(CBO)在举办全表扫描时偶然会作出一些错误的选择,这种景象尤其发生在Oracle7和Oracle8之中。有几种景象会招致这个标题问题,别离如下所示:

    最高使用标识表记标帜(High water mark)太高 :当要在一个表中举办大批的删除时,最高使用标识表记标帜能够会远远高于实际用到的数据块(block)数量。因而,假若依赖于最高使用标识表记标帜,CBO屡屡会错误的挪用全表扫描。

    错误的优化形式: 假若OPTIMIZER_MODE被设置为ALL_ROWS梗概CHOOSE,那么SQL优化器会更乐于使用全表扫描。假若想举办快速的OLTP优化,必须起首确认曾经将OPTIMIZER_MODE设置成FIRST_ROWS。

    缺少的统计: 假若表曾经清楚的添加,而且没有被重新剖析以更新统计数据,那么大概会错误的举办全表扫描,因为CBO认为表长还是像未添加之前那么小。

    偏斜的索引 :假若一个盘诘中的候选索引存在偏斜值,那么CBO大概会错误的选择全表扫描。比喻,考虑一个查找全盘自满前提REGION=SOUTHERN的纪录的盘诘。在Region栏中曾经有了一个索引,可是只需1%的条款是Southern region的。在缺少列的柱状图的景象下,CBO不晓得Southern region有更高的命中率,以是它会选择全表扫描。




    版权声明: 原创作品,容许转载,转载时请务必以超链接方式标明文章 原始理由 、作者信息和本声明。不然将追究法律责任。

  • 相关阅读:
    UIPickerView
    visual studio2010生成get方法和set方法快捷键
    vmware安装mac虚拟机键盘失灵解决方法
    运行android模拟器过大
    [SQL Utility] How to retrieve Oracle’s version info?
    【读书笔记】c# in depth (1)
    [Oracle 10g] About Recycle bin
    [Oracle Troubleshooting] Get Oracle Bounces When Data File Is Missing
    [Oracle Mgmt]Clone Oracle Database Manually
    [SQL*PLUS]Set Up Sql*Plus
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975859.html
Copyright © 2020-2023  润新知