Loading

Oracle统计收集小技巧

参考:基于Oracle的SQL优化

1.统计信息收集设置直方图的收集方式

exec dbms_stats.set_param('METHOD_OPT','FOR ALL COLUMNS SIZE REPEAT');
SELECT DBMS_STATS.GET_PARAM('METHOD_OPT') FROM DUAL;

全局设置

exec dbms_stats.set_global_prefs('METHOD_OPT','FOR ALL COLUMNS SIZE REPEAT');

 

2.设置单表收集策略

我们知道对于表变化超过10%的时候,Oracle才会自动进行统计信息收集,但是如果我们的一个核心分区表是按照天来进行分区的,数据每天都有更新,我们查询的数据又比较频繁,可能就会导致谓词越界,这个表我们希望每天都进行统计信息收集,那么我们可以修改表上的收集基数,那么我们仅仅需要将表的收集条件从10%修改为0,那么每天自动收集统计信息的时候,这个表都会自动的进行统计信息收集

exec dbms_stats.set_table_prefs('DBMON','T',STALE_PERCENT',0);

 

posted @ 2022-10-25 16:34  李行行  阅读(185)  评论(0编辑  收藏  举报