日期:2014-05-16  浏览次数:20382 次

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

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% ,分析所有索引字段,生成柱形图,并且也分析索引。

?

(miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1553986 )

?

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% ,分析所有索引字段,生成柱形图,并且也分析索引。

?

我们在googl