dbms_stats包的使用说明书


dbms_stats包下面一共有40多个存储过程. 对执行计划的生成非常重要。常见的有:
分析数据库(包括所有的用户对象和系统对象):gather_database_stats
分析用户所有的对象(包括表、索引、簇):gather_schema_stats
分析表:gather_table_stats
分析索引:gather_index_stats
删除数据库统计信息:delete_database_stats
删除用户方案统计信息:delete_schema_stats
删除表统计信息:delete_table_stats
删除索引统计信息:delete_index_stats
删除列统计信息:delete_column_stats
设置表统计信息:set_table_stats
设置索引统计信息:set_index_stats
设置列统计信息:set_column_stats
可以查看表 DBA_TABLES来查看表是否与被分析过,如:
SELECT TABLE_NAME, LAST_ANALYZED FROM DBA_TABLES
通常使用的比较多的主要是DBMS_STATS.GATHER_TABLE_STATS和 DBMS_STATS.GATHER_INDEX_STATS。

  1. PROCEDURE GATHER_TABLE_STATS  
  2. 参数名称 类型 输入/输出默认值?  
  3. ------------------------------ ----------------------- ------ --------   
  4. OWNNAME VARCHAR2 IN  
  5. TABNAME VARCHAR2 IN  
  6. PARTNAME VARCHAR2 IN DEFAULT  
  7. ESTIMATE_PERCENT NUMBER IN DEFAULT  
  8. BLOCK_SAMPLE BOOLEAN IN DEFAULT  
  9. METHOD_OPT VARCHAR2 IN DEFAULT  
  10. DEGREE NUMBER IN DEFAULT  
  11. GRANULARITY VARCHAR2 IN DEFAULT  
  12. CASCADE BOOLEAN IN DEFAULT  
  13. STATTAB VARCHAR2 IN DEFAULT  
  14. STATID VARCHAR2 IN DEFAULT  
  15. STATOWN VARCHAR2 IN DEFAULT  
  16. NO_INVALIDATE BOOLEAN IN DEFAULT  
  17.   
  18.   
  19. PROCEDURE GATHER_INDEX_STATS  
  20. 参数名称 类型 输入/输出默认值  
  21. ------------------------------ ----------------------- ------ --------   
  22. OWNNAME VARCHAR2 IN  
  23. INDNAME VARCHAR2 IN  
  24. PARTNAME VARCHAR2 IN DEFAULT  
  25. ESTIMATE_PERCENT NUMBER IN DEFAULT  
  26. STATTAB VARCHAR2 IN DEFAULT  
  27. STATID VARCHAR2 IN DEFAULT  
  28. STATOWN VARCHAR2 IN DEFAULT  
  29. DEGREE NUMBER IN DEFAULT  
  30. GRANULARITY VARCHAR2 IN DEFAULT  
  31. NO_INVALIDATE BOOLEAN IN DEFAULT  

注释:
ownname:要分析表的拥有者
tabname:要分析的表名.
partname:分区的名字,只对分区表或分区索引有用.
estimate_percent:这个参数相当于analyze中的"estimate statistics sample x percent".为总行数的百分比来估算.如果该参数为空.则为compute,当然也可以使用DBMS_STATS.AUTO_SAMPLE_SIZE 让Oracle 来决定估算百分比数
block_sample:该参数是一个boolean.在决定是否进行随机采样.
method_opt :该参数表明数据颁布不均衡的情况下是否使用直方图。可选值为"for all columns 或者for all indexed columns.当然也可以使用auto.让oracle来决定收集
degree     :parallel degree(并行收集维度) 看CPU个数
cascade :决定是否收集相关表的索引的统计信息.
force:即使表锁住了也收集统计信息.

  • 1
  • 2
  • 下一页

相关内容

    暂无相关文章