oracle 大表统计分析,oracle表的分析统计
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表的分析统计相关推荐
- oracle 大页配置,ORACLE 启用大页内存
1. huge pages 设置大小的计算脚本 附在文档最后. 2.设置oracle用户的memlock /etc/security/limit.conf oracle soft memlock un ...
- php oracle 大字段,php oracle数据库clob和nclob字段
php oracle数据库clob和nclob字段 nclob类型 1.nclob不能使用php的stream_get_contents来获取数据库的资源内容, 2.并且nclob只能使用to_cha ...
- oracle大数量导出,oracle导出大数量数据到文件sqluldr2
在oracle中,当要导出表的数据时,由于数据量巨大,导出的工作显得有点困难,现提供有如下几种方式: 1.imp/exp工具,导出来的是dmp文件,如果想要excel或txt就显得有点难: 2.PLS ...
- oracle表如何做统计分析,Oracle表统计信息的分析
对于Oracle CBO 来说,SQL语句的执行计划完全依靠于准确的统计信息 除了自动的统计信息分析外,我们可以手动进行分析 下面主要是举例来说,具体命令的参数可参考官方文档 1. 使用analyze ...
- oracle 10g磁盘管理,Oracle 10g UNDO表空间过大导致磁盘空间不足的解决
在Oracle 10g数据库的应用中,出现了UNDO表空间过大导致磁盘空间不足而崩溃的现象(ORA-30036: unable to extend segment by 8 in undo table ...
- oracle表如何做统计分析,oracle统计分析表信息
作用: 为了使基于CBO的执行计划更加准确 Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle ...
- Oracle大表清理truncate .. reuse storage
Oracle大表清理truncate .. reuse storage deallocate_unused_clause Purpose Use the deallocate_unused_claus ...
- ORACLE 大表使用 rowid 切片备份到历史表
ORACLE 大表使用 rowid 切片备份到历史表 概述与要求 思路 备份与清理表的信息 方案 操作前准备 切分字段 备份步骤 清理步骤 脚本 概述与要求 项目需求将几个5000万行大表先备份到历史 ...
- oracle创建索引表,Oracle 大表创建索引
Oracle 大表创建索引 祖仙教小凡仙 海鲨数据库架构师 有个2亿记录的表,发现需要添加一个联合索引,结果就采用普通的create index index_name on tablename (en ...
最新文章
- MyBatis和hibernate本质区别与应用场景
- electron打包
- JUnit4单元测试、JUnit4使用详解、assertThat用法
- 54 - 算法 - 动态规划问题 连续子序列和最大
- HDU5086Revenge of Segment Tree(数论)
- STM32+uCOS-II+uc/GUI移植 (uC/GUI API函数学习一)
- python源码剖析新版_Python 源码剖析之基础知识
- gps显示服务器离线,GPS离线的几大原因分析及解决方法
- SharePoint REST API - 使用REST接口对列表设置自定义权限
- 语音中常用输入特征的提取过程:MFCC、FBank
- H3C 路由器设置基本配置
- python 拆分excel单元格_python 操作excel
- Android 点击键盘外 非输入框 关闭软键盘
- python处理excel
- 计算机产品选型与配置,高校校园网设备的选型和配置.DOC
- 爬虫xx网站论坛的帖子源码分享
- 问题 D: DD_BOND看到的hcy
- ThreadX 实时操作系统
- 2021数字孪生城市白皮书 附下载
- uniapp:省市选择 自定义组件