判断统计信息是否正确

dba_tables 统计了表的信息(例如行数)
dba_tab_col_statistics 统计了表列的信息(例如列的不重复行数量NUM_DISTINCT)
dba_indexes 统计了索引的信息(例如键值列不重复行的数量DISTINCT_KEYS)

收集整库统计信息

exec DBMS_STATS.GATHER_DATABASE_STATS();
exec DBMS_STATS.GATHER_DATABASE_STATS(degree=>4,cascade=>TRUE);

收集用户统计信息

exec DBMS_STATS.GATHER_SCHEMA_STATS ('SH', degree=>4, cascade=>TRUE);

收集表统计信息

exec dbms_stats.gather_table_stats(ownname => 'HR',tabname => 'EMPLOYEES',estimate_percent => 10,method_opt=> 'for all columns size auto') ;                                                                                                                                          

收集索引统计信息

exec dbms_stats.gather_index_stats(ownname => 'HR',indname => 'IDX_EMPLOYEES_ID',estimate_ percent => '10',degree => '4') ;

收集表和索引统计信息

exec dbms_stats.gather_table_stats(ownname => 'HR',tabname => 'EMPLOYEES',estimate_percent => 10,method_opt=> 'for all indexed columns',cascade=>TRUE) ;

删除统计信息

exec dbms_stats.DELETE_TABLE_STATS('sh','sales');   -- 删除 Table 统计
exec DBMS_STATS.DELETE_SCHEMA_STATS('SH');   -- 删除 Schema 统计
exec DBMS_STATS.DELETE_DATABASE_STATS();   -- 删除 Database 统计
-- By 许望(RHCA、OCM、VCP)
最后修改:2020 年 09 月 24 日 01 : 04 PM
如果觉得我的文章对你有用,请随意赞赏