zoukankan      html  css  js  c++  java
  • 为什么基于价钱的优化器做犯错误选择

      本源:网海拾贝





    基于价钱的优化器(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有更高的命中率,以是它会选择全表扫描。




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

  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975859.html
Copyright © 2011-2022 走看看