-- oracle 8.1.5 之前
analyze 收集统计信息
analyze table tt1 estimate statistics sample 15 percent for table -估算模式收集表统计信息
analyze table tt1 compute statistics for table --- 计算模式收集表统计信息
analyze table tt1 comupte statistics for column object_id --对指定列收集统计信息
analyze table tt1 comupte statistics for table for column object_id ----对指定列和表收集统计信息
analyze index idx_tt1 compute statistics --对制定索引收集统计信息
analyze table tt1 delete statistics -- 对制定表删除所有统计信息
analyze table tt1 compute statistics --对指定表收集所有统计信息
---dbms_stats包收集统计信息
exec dbms_stats.gather_table_stats(ownname => 'test',tabname
=> 'tt1',estimate_percent => 15,method_opt => 'for table',cascade => false); ---估算模式对制定表上收集统计信息
exec dbms_stats.gather_table_stats(ownname => 'test',tabname
=> 'tt1',estimate_percent => 100,method_opt => 'for table',cascade => false); ---计算方式对制定表上收集统计信息
exec dbms_stats.gather_table_stats(ownname => 'test',tabname => 'tt1',estimate_percent => 100,method_opt => 'for columns size 1 object_name object_id',cascade => false); ---计算方式对制定表列上收集统计信息
exec dbms_stats.gather_index_stats(ownname => 'test',indname => 'idx_tt1',estimate_percent => 100);
---制定模式下索引收集统计
exec dbms_stats.delete_table_stats(ownname => 'test',tabname => 'tt1'); --删除表统计信息
---一次性收集表统计信息
exec dbms_stats.gather_table_stats(ownname => 'test',tabname => 'tt1',estimate_percent => 100,cascade => true);
anaylze 和dbms_stats 区别
1. analyze 不能正确的地收集分区表的统计信息,而dbms_stats 包却可以
2 . analyze 命令不能并行收集统计信息,而dbms_stats 包却可以
exec dbms_stats.gather_table_stats(ownname => 'test',tabname => 'tt1',estimate_percent => 100,cascade => true,degree => 3);
阅读(3803) | 评论(0) | 转发(0) |