ITPub博客

首页 > 数据库 > Oracle > Oracle 表直方图采样比例设置 dbms_stats.set_global_prefs

Oracle 表直方图采样比例设置 dbms_stats.set_global_prefs

翻译 Oracle 作者:Haoword_wang 时间:2024-05-01 11:25:16 0 删除 编辑

问题:您能解释一下dbms_stats。Set_global_prefs过程做什么?我想看看dbms_stats.set_global_prefs的一个例子。

dbms_stats.set_global_prefs命令更改SQL优化器统计信息自动重新分析的全局默认项。

从Oracle 11g开始,set_global_prefs过程用于覆盖默认的全局默认项,包括自动统计收集作业的一些特定默认项。
    exec dbms_stats。set_global_prefs(“AUTOSTATS_TARGET”、“AUTO”);

这里我们将默认估计百分比设置为10%样本大小:
    dbms_stats.set_global_prefs(‘ESTIMATE_PERCENT’,‘10’);

这里我们将并行度设置为25,对于36个CPU的服务器(cpu_count=36):
    dbms_stats.set_global_prefs(“ DEGREE”,“35”);

调整全局默认项并不是一个好主意,除非我们非常了解其后果,下面的命令将把统计数据重新设置回默认值。
    exec dbms_stats.reset_global_pref_defaults;

总之,dbms_stats.set_global_prefs只有在仔细测试了结果SQL工作负载之后才能修改。

现在,从Oracle 11g release 2开始,我们将这个并行并行功能内置到dbms_stats中。Oracle现在有一个全局dbms_stats配置参数concurrent=true,它允许并发优化器收集统计信息。

    exec dbms_stats.set_global_prefs(“ concurrent”,“ true”);

如果您总是希望在运行gather_table_stats时分析索引,您可以使用set_database_prefs、set_global_prefs或set_table_prefs,以便在执行gather_table_stats时始终包含索引。

参考链接:

‘http://www.dba-oracle.com/t_dbms_stats_set_global_prefs.htm#:~:text=Answer%3A%20The%20dbms_stats.set_global_prefs%20command%20changes%20the%20global%20preferences,specific%20preferences%20for%20the%20automatic%20stats%20collection%20job.’

'https://docs.oracle.com/database/121/ARPLS/d_stats.htm'


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26342786/viewspace-3014318/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle Postgresql MySQL DBA,DEVOPS 开发人员

注册时间:2013-03-03

  • 博文量
    73
  • 访问量
    69128