admin管理员组

文章数量:1660205

-- 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);

10-18 01:14

本文标签: 统计信息方法ORACLE