- BlogOraK ™ - http://blogorak.estsurinternet.com -

Calculer les statistiques pour tous les objets d’un schema

Posted By Daredevil On 6 mai 2008 @ 11:27 In Divers, scripts et trucs | No Comments

Si l’optimiseur est un peu fatiguĂ© et que les requetes sql ne sont pas meix on peut toujours essayer d’aider le dit optimiseur en recalculant les statistiques pours tous les objets du schema.

Il existe un package Oracle pour ca en 9i et 10g, plutot que de faire de fastidieux ANALYZE TABLE…COMPUTE .

C’est DBMS_STATS et la procedure GATHER_SCHEMA_STATS

begin
dbms_stats.gather_schema_stats(’&OWNER’,DBMS_STATS.AUTO_SAMPLE_SIZE,false,
‘FOR ALL COLUMNS SIZE AUTO’,1,’GLOBAL’,true,null,null,’GATHER AUTO’);
end;
/

ou plus simplement (en utilisant les valeurs par defaut des parametres :

execute dbms_stats.gather_schema_stats(ownname=>’nom_du_proprietaire’);

Pour plus d’infos sur le paramĂ©trage voir la doc officielle PL/SQL supplied packages

et la procedure GATHER_SCHEMA_STATS du package DBMS_STAT

Bonnes stats !


Article printed from BlogOraK ™: http://blogorak.estsurinternet.com

URL to article: http://blogorak.estsurinternet.com/?p=52

Copyright © 2008 BlogOraK (tm), by Didier Deleglise. All rights reserved.