dbms_stats包里最经常使用的就是以下4个存储过程:对象
gather_table_stats:用于收集目标表、目标表的列和目标表上的索引的统计信息。blog
gather_index_stats:用于收集指定索引的统计信息。索引
gather_schema_stats:用于收集指定schema下全部对象的统计信息。get
gather_database_stats:用于收集全库全部对象的统计信息。table
一、对表收集统计信息,而且以估算模式,采样的比例为15%channel
execdbms_stats.gather_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME',estimate_percent=>15,method_opt=<'FOR TABLE',cascade=<false);im
二、以计算模式收集索引的统计信息统计
exec dbms_stats.gather_index_stats(ownname=>'SCHEMA',indname=>'IDX_NAME',estimate_percent=>100);存储过程
三、删除表、表的全部列、表的全部索引的统计信息db
exec dbms_stats.delete_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME');
四、一次性以计算模式收集表、表的全部列和该表全部索引的统计信息
execdbms_stats.gather_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME',estimate_percent=>100,cascade=>true);