已归录
做统计信息收集时,estimate_percent 表示采样百分比,比如 30 表示随机抽取 30% 的块。
看一个表当前的采样率:
SELECT owner,
        table_name,
        num_rows,
        sample_size,
        ceil(sample_size / num_rows * 100) estimate_percent
FROM dba_tab_statistics
WHERE owner='SCOTT' 
AND table_name='TEST';下面是采样比例的参考建议:
- 小表(小于1G)百分之百收集
 - 1~5G:50%收集
 - 5G~10G: 30%
 - > 10G:一般要考虑分区,以分区为粒度进行收集。
 
之所以用大小来区别表的大小,是因为采样也是用块的百分比来的