DBMS_STATS包

DBMS_STATS包下常用的存储过程:

  • GATHER_DATABASE_STATS
  • GATHER_DICTIONARY_STATS
  • GATHER_FIXED_OBJECTS_STATS
  • GATHER_INDEX_STATS
  • GATHER_SCHEMA_STATS
  • GATHER_SYSTEM_STATS
  • GATHER_TABLE_STATS

正确的使用DBMS_STATS包:

  • 分析哪些对象
  • 数据分析的频率和时间
  • 分析的采样率
  • 分析的粒度

动态采样

动态采样技术是为了弥补CBO优化器下,在段对象(表、索引、分区)没有分析的情况下,为了使优化器得到足够的信息以保证做出正确的执行计划而发明的一种技术,可以把它看做是分析手段的一种补充。

当段对象没有统计信息时(即没有做分析),动态采样技术可以通过直接从需要分析的对象上收集一些数据块(采样)来获得CBO需要的统计信息。