甲骨文12 c数据库优化器统计信息收集的最佳实践(一)

  
  

     

  

     

     

  
  

     

  导,语   

     

     

  

     

     <李>   

     

  李   <李>   

     

  李   <李>   

     

  李   <李>   

     

  李   <李>   

     

  李   <李>   

     

  李      

     

  

     

     

  如何收集统计信息   

     

     

  

     

  

     

  

     

     

  自动统计信息收集   

     

     

  

     

  
  

     

     

     

  
  

     

  

     

  

     

     

     

     

  设置DBMS_STATS偏好   

     

     

  

     

  
  

     

  

     

  

     

  

     

     

     

  

     

  

     

  

     

  

     

  

     

  

  甲骨文12 c数据库优化器统计信息收集的最佳实践(一)   

  

     

  

     

  

     

  

  
  

     

  ESTIMATE_PERCENT   

     

  在收集统计信息过程中,可以使用ESTIMATE_PERCENT参数控制统计数据行的百分比。当表中的所有行都被统计(即100%采样),我们将会得到最准确的统计信息.Oracle数据库在11 g引入了一个新的采样算法,基于散列的算法来实现行信息统计,使用10%的采样频率采集到的信息精确度接近100%采样频率。在使用dbms_stats gather_ * _stats过程指定ESTIMATE_PERCENT设置auto_sample_size(默认)时新的算法就会被启动。在甲骨文数据库11 g之前,数据库管理员往往设置estimate_precent参数为很低的值确保统计信息能被快速收集.Oracle强烈建议在从11 g开始保持默认参数auto_sample_size。这一点尤为重要,因为12 c开始引入了新的直方图类型,混合和Top-Frequency,这些直方图只能在参数保持默认的auto_sample_size才能被收集。   

  

  现在很多的系统还保留着旧的统计信息收集脚本(手动设置百分比),所以当数据库升级到12 cr2后,可以考虑使用preference_overrides_parameter参数覆盖手动统计信息收集使用的默认参数,或者直接修改统计信息收集脚本。   

  

     

     

  METHOD_OPT   

     

     

  

     

  
  

     

  

     

  

     

  

     

  

     

  

     

  

     

  

     

     

     

  
  

     

  

     

  

     

  

     

  

     

  

     

  

     

  

     

     

     

  
  

     

  

     

  

     

  

     

  

     

  

     

     

     

  

     

     

  手工统计信息收集   

     

     

  

     

  

     

  

     

  

     

  

甲骨文12 c数据库优化器统计信息收集的最佳实践(一)