Oracle之动态采样

动态采样在Oracle数据库中用于提高执行计划的准确性,通过收集更精确的统计信息来提升服务器性能。它适用于谓词估计、无统计或统计过期的表/索引。动态采样由OPTIMIZER_DYNAMIC_SAMPLING参数控制,级别范围1到10,不同级别对应不同的数据块采样数量。例如,级别0和3分别展示了未启用和启用动态采样时对未分析表查询的不同效果,启用后能显著减少访问的行数。
摘要由CSDN通过智能技术生成

 

动态取样是为谓词和表/索引统计收集更加精确的信息从而提高服务器性能,信息越精确产生的性能更好。一般发生在生成执行计划阶段。

可以使用动态取样的情况:

  1.) 在收集的统计不能使用或会导致严重的估计错误时估计单表的谓词选择性;

  2.) 估计没有统计的表/索引的统计;

  3.) 估计统计过期的表和索引的统计;

动态取样特征由参数OPTIMIZER_DYNAMIC_SAMPLING控制,默认级别为2。

动态采样是在解析的时候对表进行采样收集统计信息,但不会写入user_tables

动态采样可以通过hint开启无论OPTIMIZER_DYNAMIC_SAMPLING目前的值是多少

取样级别范围从1..10

 

1级:满足以下条件则采样所有没被分析的表:

 (1)查询中至少有一个未分析表;

 (2)这个未分析表被关联另外一个表或者出现在子查询或非merge视图中;

 (3&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值