有关执行计划不稳的问题


   对于数据量不稳定的表,如夜间大批量delete或truncate后统计信息不准,重建表后,统计信息也一并删除了,

   如何避免这种情况对相关表的执行计划发生影响,可以考虑锁定表的统计信息。

   exec dbms_stats.lock_table_stats('username','tablename');


   锁定后,在drop表后也会一样会删除统计信息。

   在alter table t1 add ( col1 int)后,统计信息不变,与是否锁定也没关系。

   在锁定后,如果再收集其统计信息,会报错:

  ORA-20005: object statistics are locked (stattype = ALL)

  解锁后可以再收集: exec dbms_stats.unlock_table_stats('username','tablename');

你可能感兴趣的:(有关执行计划不稳的问题)