9 novembre 2015

Oracle - statistics_level = TYPICAL / ALL

De la part de Michel,

La base de données Oracle dispose d'un paramètre "statistics_level" par défaut à TYPICAL
select value from  v$system_parameter where name='statistics_level';
-------
TYPICAL
 
Sur certaines de ses bases le paramètre était valorisé à ALL.

L'effet sur les performances de HR Access s'est avéré parfois extrêmement pénalisant (surtout lorsqu'un batch exécute des milliers de petites requêtes). Replacer le statistics_level à TYPICAL a eu un effet immédiat.

Ce paramètre est en lien avec le "cardinality feedback" et le "adaptive cursor sharing".
Quelques infos sur ce post...

A priori le "statistics_level" = ALL est plutôt à réserver au debug, quand on suspecte un problème (cf ce post) :



There is very little overhead for collecting typical statistics but there will be extra overhead for collecting the OS and plan execution statistics, and statistics_level=all should only be used when troubleshooting a performance problem