Oracle统计信息

Oracle数据库里的统计信息可以分为6种类型:

  • 表的统计信息
  • 索引的统计信息
  • 列的统计信息
  • 系统统计信息
  • 数据字典统计信息
  • 内部对象统计信息

图 1: Oracle统计信息


基于CBO成本计算的几个重要概念:

  1. Cardinality (集的势)

    • 含义:

      Cardinality可以理解为SQL扫描后所得到的集合

    • 计算公式:

        Cardinality=MAX(Cardinality Factor * Rowcount, 1)
    • Cardinality Factor计算

      1. "="查询

        Cardinality Factor = 1/NUM_DISTINCT

      2. ">", "<", ">=", "<="查询

        Cardinality Factor = (1/NUM_DISTINCT) + (1/NUM_ROWS)

      3. in查询

        Cardinality Factor = in_count/NUM_DISTINCT

      4. "<>"查询

        Cardinality Factor = (1 - (1/NUM_DISTINCT))

      5. not in查询

        Cardinality Factor = (1 - (1/NUM_DISTINCT)) ^ (not_in_count)

  2. Selectivity (选择度)

    • 含义:

      Selectivity可以理解为SQL中谓词过滤结果集和报错表记录数之间的比例 -

      [Oracle] oracle统计信息的更多相关文章

      1. oracle学习----统计信息

        1.收集统计信息的方式 for all columns size skewonly BEGIN  DBMS_STATS.GATHER_TABLE_STATS(ownname          => ...

      2. 验证Oracle收集统计信息参数granularity数据分析的力度

        最近在学习Oracle的统计信息这一块,收集统计信息的方法如下: DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, ---所有者名字 tabname ...

      3. ORACLE收集统计信息

        1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·       ...

      4. ORACLE 收集统计信息

        1.     理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·        ...

      5. Oracle自动统计信息的收集原理及实验

        [日期:2014-11-21]来源:Linux社区  作者:stevendbaguo[字体:大 中 小] 从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATH ...

      6. Oracle 搜集统计信息

        常用的统计信息收集脚本: 非分区表: BEGIN   DBMS_STATS.GATHER_TABLE_STATS(ownname          => 'SCOTT',             ...

      7. Oracle Statistic 统计信息 小结

        oraclestatisticstabledatabasesqldictionary   目录(?)[-] 直方图上列的信息说明 直方图类型说明   一.  Statistic 说明 Oracle 官 ...

      8. oracle的统计信息的查看与收集

        查看某个表的统计信息 SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; Session altered. SQL&g ...

      9. Oracle备份统计信息

        Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下: DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => ...

      10. Oracle 11G统计信息自动收集及调整

        查询统计信息的收集所对应的task,以及当前状态 col CLIENT_NAME for a50col TASK_NAME for a20SELECT client_name, task_name, ...

      随机推荐

      1. 14、函数之匿名函数(lambda)

        关键字lambda可以创建匿名函数,语法是:lambda 参数s :表达式.匿名函数与普通函数只有以下几点不同:①没有函数名:②只能有一个表达式:③一定会有返回值,返回值就是该表达式的结果. 另外,匿 ...

      2. Java石头剪刀布小游戏

        package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Colo ...

      3. 菜鸟学Linux - Tarball安装的一般步骤

        所谓的Tarball软件,实际上指的是从网络上下载到的源码包.通常是以.tar.gz和tar.bz2结尾.至于gz和bz2的区别在于压缩算法的不同(bz2的压缩效果好像好一些).源码包下载完成后,需要 ...

      4. Best Practices in JavaScript

        Some items you should konw : Graceful degradation : ensuring that your web pages still work without ...

      5. 变量存储类型(auto static extern)

        auto 动态存储类型变量(函数内部变量存储默认为 auto型) auto只用于函数内部定义,单片机在执行这个函数时为它分配内存地址,当函数执行完毕返回后,auto变量会被销毁,再次进入这个函数时,它 ...

      6. 大中型 UGC 平台的反垃圾(anti-spam)工作

        本文来自网易云社区 随着互联网技术的日渐发展,相继诞生了垂直社区.社交平台.短视频应用.网络直播等越来越多样的产品.但在内容爆炸式增长的同时,海量UGC中也夹杂着各种违规垃圾信息,包括垃圾广告.诈骗信 ...

      7. ADB连接手机遇到的问题:list of devices attached

        今天工作时想尝试一下使用ADB无线连接手机,结果遇到了下面这样的问题,浪费了几十分钟的时间,挺闹心的,因此想分享出来... 首先 第一步:使用USB数据线连接手机,手机弹出选项时,选择仅充电,然后wi ...

      8. Jmeter微信小程序接口测试

        最近公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试. 从接口本身来讲,对其测试与其他项目应该是一样的.所以不难理解,我们要对小程序的接口测试需要准备的 材料有 ...

      9. QA面试题:之一(中英文题目、难度:简单)

        QA面试题:之一(中英文题目.难度:简单)

      10. 孤荷凌寒自学python第二十三天python类的封装

        孤荷凌寒自学python第二十三天python类的封装 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.从怎么样访问类的内部代码块中定义的私有属性说起 类中定义的私有属性和私有方法是无法被 ...