oracle表的分析统计

[总结] Oracle 表的分析统计 讨论一: 使用 dbms_stats 还是 analyze 自从 Oracle8.1.5 引入 dbms_stats 包, Oracle 及专家们就推荐使用 dbms_stats 取代 analyze。 理由如下: 1. dbms_stats 可以并行分析 2. dbms_stats 有自动分析的功能(alter table monitor ) 3. analyze 分析统计信息的有些时候不准确 第 1,2 比较好理解,且第 2 点实际上在 VLDB(Very Large Database) 中是最吸引人的;3 以前比较模糊,看了 metalink236935.1 解释,analyze 在分析 Partition 表的时候,有时候会计 算出不准确的 Global statistics 。 原因是 dbms_stats 会实在的去分析表全局统计信息(当指 定参数);而 analyze 是将表分区(局部)的 statistics 汇总计算成表全局 statistics ,可能导 致误差。 没有分区表的情况下两个都可以使用(看个人习惯,当然也可以分区表使用 dbms_stats, 其他使用 analyze )。 不过在一些论坛上也有看到 dbms_stats 分析之后出现统计数据不准确的情况,而且确实有 bug 在 dbms_stats 上( 可能和版本有关,有待查明),应该是少数情况,需要我们注意。 还有, 一般不建议 analyze 和 dbms_stats 混用。 实验: 如果在分区表上用 dbms_stats 统计后,再 使用 analyze table 来统计,就会出现表信息不被更新的问题。 删除统计信息后再分析就更新 了,或者直接用 dbms_stats 分析。 dbms_stats 目前有遇到的 bug 例子如下: dbms_stats 所有的功能包如下: GATHER_INDEX_STATS:分析索引信息 GATHER_TABLE_STATS:分析表信息,当 cascade 为 true 时,分析表、列(索引)信息 GATHER_SCHEMA_STATS:分析方案信息 GATHER_DATABASE_STATS:分析数据库信息 GATHER_SYSTEM_STATS:分析系统信息 EXPORT_COLUMN_STATS:导出列的分析信息 EXPORT_INDEX_STATS:导出索引分析信息 EXPORT_SYSTEM_STATS:导出系统分析信息 EXPORT_TABLE_STATS:导出表分析信息 EXPORT_SCHEMA_STATS:导出方案分析信息 EXPORT_DATABASE_STATS:导出数据库分析信息 IMPORT_COLUMN_STATS:导入列分析信息 IMPORT_INDEX_STATS:导入索引分析信息 IMPORT_SYSTEM_STATS:导入系统分析信息 IMPORT_TABLE_STATS:导入表分析信息 IMPORT_SCHEMA_STATS:导入方案分析信息 IMPORT_DATABASE_STATS:导入数据库分析信息 讨论二: analyze 的使用方法 (分区表建议使用 dbms_stats) 可以参考 Analyze 的三大功能: 搜集和删除索引、表和簇的统计信息 验证表、索引和簇的结构 鉴定表和簇的行迁移(migrated rows)和行链接(chained rows) CBO 是 Oracle 推荐使用的优化方式,要想使用好 CBO ,使 SQL 语句发挥最大效能,必 须保证统计数据的及时性。统计信息的生成可以有完全计算法和抽样估算法。SQL 例句如下: 完全计算法: analyze table abc compute statistics; 抽样估算法(抽样 20%): analyze table abc estimate statistics sample 20 percent; 对表作完全计算所花的时间相当于做全表扫描,抽样估算法由于采用抽样,比完全计算法的生 成统计速度要快,如果不是要求要有非常精确的数据的话,尽量采用抽样分析法。建议对表分 析采用抽样估算,对索引分析可以采用完全计算。 Analyze 分析 table, index 等需要的权限: 必须在你自己的 Schema( 方案) 中或者有 ANALYZE ANY 系统权限 。 比如: grant analyze any to tolywang ; revoke analyze any from tolywang ; Analyze 使用的局限及改善: Analyze 命令每次仅仅能影响到一个 table(或 index), 如果想通过 analyze 为整个 schema 或整个数据库中的所有表生成统计数字。可以使用 analyze 的批处理方式( 脚本)。 Analyze 分析命令解析: ANALYZE { TABLE [ schema.]table [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ] | INDEX [ schema. ]index [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ] | CLUSTER [ schema. ]cluster }

oracle 大表统计分析,oracle表的分析统计相关推荐

  1. oracle 大页配置,ORACLE 启用大页内存

    1. huge pages 设置大小的计算脚本 附在文档最后. 2.设置oracle用户的memlock /etc/security/limit.conf oracle soft memlock un ...

  2. php oracle 大字段,php oracle数据库clob和nclob字段

    php oracle数据库clob和nclob字段 nclob类型 1.nclob不能使用php的stream_get_contents来获取数据库的资源内容, 2.并且nclob只能使用to_cha ...

  3. oracle大数量导出,oracle导出大数量数据到文件sqluldr2

    在oracle中,当要导出表的数据时,由于数据量巨大,导出的工作显得有点困难,现提供有如下几种方式: 1.imp/exp工具,导出来的是dmp文件,如果想要excel或txt就显得有点难: 2.PLS ...

  4. oracle表如何做统计分析,Oracle表统计信息的分析

    对于Oracle CBO 来说,SQL语句的执行计划完全依靠于准确的统计信息 除了自动的统计信息分析外,我们可以手动进行分析 下面主要是举例来说,具体命令的参数可参考官方文档 1. 使用analyze ...

  5. oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决

    在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...

  6. oracle表如何做统计分析,oracle统计分析表信息

    作用: 为了使基于CBO的执行计划更加准确 Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle ...

  7. Oracle大表清理truncate .. reuse storage

    Oracle大表清理truncate .. reuse storage deallocate_unused_clause Purpose Use the deallocate_unused_claus ...

  8. ORACLE 大表使用 rowid 切片备份到历史表

    ORACLE 大表使用 rowid 切片备份到历史表 概述与要求 思路 备份与清理表的信息 方案 操作前准备 切分字段 备份步骤 清理步骤 脚本 概述与要求 项目需求将几个5000万行大表先备份到历史 ...

  9. oracle创建索引表,Oracle 大表创建索引

    Oracle 大表创建索引 祖仙教小凡仙 海鲨数据库架构师 有个2亿记录的表,发现需要添加一个联合索引,结果就采用普通的create index index_name on tablename (en ...

最新文章

  1. MyBatis和hibernate本质区别与应用场景
  2. electron打包
  3. JUnit4单元测试、JUnit4使用详解、assertThat用法
  4. 54 - 算法 - 动态规划问题 连续子序列和最大
  5. HDU5086Revenge of Segment Tree(数论)
  6. STM32+uCOS-II+uc/GUI移植 (uC/GUI API函数学习一)
  7. python源码剖析新版_Python 源码剖析之基础知识
  8. gps显示服务器离线,GPS离线的几大原因分析及解决方法
  9. SharePoint REST API - 使用REST接口对列表设置自定义权限
  10. 语音中常用输入特征的提取过程:MFCC、FBank
  11. H3C 路由器设置基本配置
  12. python 拆分excel单元格_python 操作excel
  13. Android 点击键盘外 非输入框 关闭软键盘
  14. python处理excel
  15. 计算机产品选型与配置,高校校园网设备的选型和配置.DOC
  16. 爬虫xx网站论坛的帖子源码分享
  17. 问题 D: DD_BOND看到的hcy
  18. ThreadX 实时操作系统
  19. 2021数字孪生城市白皮书 附下载
  20. uniapp:省市选择 自定义组件

热门文章

  1. Java递归子集算法(树状结构)的逻辑和实例代码实现 @杨章隐
  2. Java比较日期时间大小
  3. 笔试面试题目:三点共线的判断
  4. 【数据集】各类绝缘子、鸟巢及防震锤数据集汇总
  5. 2.1.2 Android刘海屏适配
  6. php命令提示无效,window_Win7系统命令提示符输入指令无效问题的解决办法,Win7系统命令提示符输入指令无 - phpStudy...
  7. matlab巴特沃斯滤波器用法
  8. 小白一周时间黑水果折腾的过程
  9. 蓝桥杯 算法训练 未名湖边的烦恼 C语言
  10. 国有企业数字化转型的特殊性