当前位置:  数据库>oracle

如何正确地分析Oracle数据库模式,表及索引

    来源: 互联网  发布时间:2017-04-28

    本文导语: 在Oracle 数据库中,我们经常需要去手工分析表和索引,还有某个模式下所有的表和索引等等。oracle 提供了两种分析方法,分别是dbms_stats 包和analyze 命令。这些是我们在日常项目管理中的真实使用的方法,供参考。 在10g 中分析...

在Oracle 数据库中,我们经常需要去手工分析表和索引,还有某个模式下所有的表和索引等等。oracle 提供了两种分析方法,分别是dbms_stats 包和analyze 命令。这些是我们在日常项目管理中的真实使用的方法,供参考。

在10g 中分析某一个用户下所有的对象,如user_miki 用户

sys.dbms_stats.gather_schema_stats(ownname => 'user_miki',estimate_percent => 30,method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO',cascade => true,options => 'GATHER');

这是我在项目中分析一个用户所有对象的分析方法,取样比例为30% ,分析所有索引字段,生成柱形图,并且也分析索引。

在10g 中分析某一个用户下某一个表及其索引,如user_miki 用户下info 表和它的索引

execute dbms_stats.gather_table_stats(ownname => 'user_miki',tabname => 'info',estimate_percent => 30,method_opt => 'for all indexed columns size auto');

这是我在项目中单独分析一个用户中一张表的分析方法,取样比例为30% ,分析所有索引字段,生成柱形图,并且也分析索引。

我们在google 时,还能看到使用analzye  命令分析表的方法。
analyze table   table_name compute statistics;
这个会将索引和表一起分析;
analyze table table_name compute statistics for table;
这个仅分析表;
analyze table table_name compute statistics for all columns;
这个仅分析表,和上面所有的字段,生成柱形图
analyze table table_name compute statistics for all indexed columns;
这个仅分析表,和上面所有建立索引的字段,生成柱形图
在9i 中,我们常常使用analyze 方法,在10g 以后,就改为dbms_stats.gather_schema_stats 类似的包来分析数据库对象了。
10g 的分析函数包比9i 的analyze 方法更灵活一些。
在10g 中,会有个系统的计划任务,每天10 点和周末两天都自动分析新的数据库对象和它认为统计信息已经过期的数据库对象。这个分析结果有时候不靠谱。
因此,我都采用10g 中提供的dbms_stats.gather_schema_stats 方法作为补充,设置一个计划任务定期去分析业务用户下所有数据库对象。











更多Oracle相关信息见 专题页面


    
 
 

您可能感兴趣的文章:

  • Mysql索引会失效的几种情况分析
  • XML索引和分析库 Xaira
  • MySQL 主键与索引的联系与区别分析
  • MySQL前缀索引导致的慢查询分析总结
  • MySQL索引使用全程分析
  • mysql 索引分类以及用途分析
  • SQL Server 聚集索引和非聚集索引的区别分析
  • 索引在Oracle中的应用深入分析
  • Sql Server 查询性能优化之走出索引的误区分析
  • MySQL 索引分析和优化
  • mysql 数据库中索引原理分析说明
  • 用代码和UML图化解设计模式之桥接模式的深入分析
  • CSS中box(盒模式)的分析
  • 设计模式之构建(Builder)模式 建造房子实例分析
  • [百度分享]Bonding模块主要工作模式相关代码分析(一)
  • 深入C#字符串和享元(Flyweight)模式的使用分析
  • ACE反应器(Reactor)模式的深入分析
  • Java源码分析:深入探讨Iterator模式
  • PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
  • [百度分享]Bonding 模块代码及主要工作模式分析(4)
  • [百度分享]Bonding 模块代码及主要工作模式分析(1)
  • [百度分享]Bonding 模块代码及主要工作模式分析(2)
  • [百度分享]Bonding 模块代码及主要工作模式分析(3)
  • PHP正则表达式的逆向引用与子模式分析
  • [百度分享]Bonding模块主要工作模式相关代码分析(二)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 分析型数据库 InfiniDB
  • Oracle中关数据库对象的统计分析
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • SQLServer中master数据库分析
  • oracle 数据库连接分析
  • 分析linxu下c++写的一个数据库的源代码。怎么下手? (百分求教)
  • Oracle数据库安全策略分析 (三)第1/2页
  • 基于MySQL数据库复制Master-Slave架构的分析
  • [百度分享]Bonding 模块代码及主要工作模式分析(1) iis7站长之家
  • 深入分析关于Oracle数据库的备份策略
  • Oracle数据库后台进程的功能分析
  • Oracle数据库安全策略分析(二)
  • Oracle不同数据库间对比分析脚本
  • jdbc连接sql server数据库问题分析
  • Oracle 9i数据库中动态重配置深入分析
  • 数据库cpu很高,io很低的问题分析
  • MySQL数据库服务器逐渐变慢分析与解决方法分享
  • (急)有劳分析关于websphere的出错:与数据库相连的应用程序已达到最大数目
  • Python 分析Nginx访问日志并保存到MySQL数据库实例
  • mysql+Spring数据库隔离级别与性能分析
  • HASH查找的程序实现及性能分析
  • 如何获取shell词法分析,语法分析及解释器的内容和信息
  • http协议介绍,文件上传分析及程序举例
  • 两台机器同时出现同样的故障,有人能帮分析分析吗?
  • linux下free命令显示的内存使用情况分析
  • 请教高手帮我分析分析!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 我想编程分析任意一个java文件,把其中的注释部分删掉,请帮我分析一下思路和方法好吗?
  • Docker支持更深入的容器日志分析
  • 如何分析linux宕机原因(或者说如何通过查日志分析宕机原因)
  • mongodb的优点和缺点详细分析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,