oracle怎么做表分析 oracle分析表需要多长时间

如何分析oracle数据库中的表结构?去这里看看??
数据结构被称为物理(存储)的数据结构在计算机中的表示(图片) 。它包括一个数据元素表示的关系的表示 。
物理结构,也就是由Oracle数据库所使用的操作系统的文件结构 。对于数据库的物理结构文件,不同版本的Oracle,不同的操作系统平台上的数据库文件存放的目录结构不同的物理结构
其作用可分为三类:
数据日志文件的文件
控制文件
数据文件,数据文件,用于存储数据库中的数据,如表 , 索引等 。当读取数据时,系统首先读取的数据从数据库文件,并存储到数据缓冲器 , SGA 。
重做日志文件,重做日志文件
所有的记录在数据库中的信息 。这是三种类型的文件,文件中最复杂的,而且要保证数据库的安全性和数据库的备份和恢复文件直接 。
控制文件
控制文件是一个二进制文件,用来描述数据库的物理结构,数据库只需要一个控制文件 , 控制文件的内容,包括:
同步需要恢复的数据文件和日志文件的信息标识数据库和数据库的名称,唯一标识
数据库,检查点数量
/
a
如果有,请记得采纳为满意的答复 , 谢谢你!我祝你幸福的生活!
vaela
如何正确地分析Oracle数据库模式,表及索引在Oracle 数据库中,oracle怎么做表分析我们经常需要去手工分析表和索引 , 还有某个模式下所有oracle怎么做表分析的表和索引等等 。oracle 提供了两种分析方法,分别是dbms_stats 包和analyze 命令 。这些是oracle怎么做表分析我们在日常项目管理中的真实使用的方法,供参考 。
在10g 中分析某一个用户下所有的对象 , 如user_miki 用户
Sql代码收藏代码
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% ,分析所有索引字段,生成柱形图,并且也分析索引 。
(miki西游 @mikixiyou 文档 , 原文链接:)
在10g 中分析某一个用户下某一个表及其索引,如user_miki 用户下info 表和它的索引
【oracle怎么做表分析 oracle分析表需要多长时间】Sql代码收藏代码
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命令分析表的方法 。
Sql代码收藏代码
analyze tabletable_name compute statistics;
这个会将索引和表一起分析;
Sql代码收藏代码
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 方法作为补充,设置一个计划任务定期去分析业务用户下所有数据库对象 。
Sql代码收藏代码
variable job number;
begin
sys.dbms_job.submit(job = :job,
what = 'sys.dbms_stats.gather_schema_stats(ownname = ''USR_MIKI'',estimate_percent = 30,method_opt = ''FOR ALL INDEXED COLUMNS SIZE AUTO'',cascade = true,options = ''GATHER'');',
next_date = to_date('16-12-2012 00:56:24', 'dd-mm-yyyy hh24:mi:ss'),
interval = 'sysdate 7');
commit;
end;
/
例如,设置为每周六运行一次 。
oracle如何判断需要做表分析首先要了解为什么要进行表分析,表分析的结果被Oracle用于基于成本的优化生成更好的查询计划 。所以,一般发现如有个表的查询性能比较差,或者原本有索引但是没有走,那就可以考虑对表进行分析 。
Oracle数据库表做表分析、索引分析的命令是什么?analyze table表名 compute statistics
analyze index 索引ID compute statistics
如果想分析所有的表名和index名可以从视图user_tables , user_indexes取得相关的信息,自动生成SQL命令
oracle怎么做表分析的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle分析表需要多长时间、oracle怎么做表分析的信息别忘了在本站进行查找喔 。

    推荐阅读