[Oracle] Oracle收集统计信息的采样比例

本文探讨了Oracle数据库中收集统计信息时的采样比例问题,深入理解这一概念对于优化查询性能至关重要。通过合适的采样比例,可以确保数据库能够准确地估算表的大小和分布,从而生成更有效的执行计划。
摘要由CSDN通过智能技术生成
Oracle收集统计信息的采样比例:

 SELECT owner, segment_name, ROUND (SUM (bytes) / 1024 / 1024) size_mb,
         case when sum(bytes)/1024/1024 <  1 then '100'
         when sum(bytes)/1024/1024 >= 1    and sum(bytes)/1024/1024 < 1000 then '20'
         when sum(bytes)/1024/1024 >= 1000 and sum(bytes)/1024/1024 < 100000 then '5'
         when sum(bytes)/1024/1024 >= 100000 then '1' end estimate_percent
  FROM dba_segments
  WHERE segment_type like 'TABLE%' GROUP BY owner, segment_name

exec dbms_stats.gather_database_stats(estimate_percent=>100,degree=>4,cascade=>true,granularity=>'ALL');
exec dbms_stats.gather_table_stats(username,'tablename',estimate_percent=>100,degree=>4,cascade=>true,granularity=>'ALL');  
user:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值