Amélioration de la performance de la base maximo oracle 10g, 11g et 12c
Par défaut, Oracle utilise l'optimiseur basé sur les coûts afin de déterminer le meilleur plan d'exécution pour une requête. Pour permettre à l'optimiseur de mieux estimer les coûts, vous pouvez calculer les statistiques sur la table que vous interrogez. Pour ce faire, utilisez la commande suivante:
Lancer le script suivant :
select 'analyze table ' ||tablename|| ' compute statistics ; ' from maxtable;
Puis lancer le résultat.
Vous pouvez également recueillir des statistiques en parallèle avec la procédure
DBMS_STATS.gather_table_stats.
begin DBMS_STATS.GATHER_TABLE_STATS('SchName', 'TableName', estimate_percent=>50,
block_sample=>TRUE,
degree=>4) ;
end ;
Exemple :
begin DBMS_STATS.GATHER_TABLE_STATS('MAXIMO', 'WORKORDER', estimate_percent=>50,
block_sample=>TRUE,
degree=>4) ;
end ;
Ou bien utiliser la procédure de MAXIMO (MAXIMO_GATHER_TABLE_STATS) :
execute MAXIMO_GATHER_TABLE_STATS('SchName', 'TableName', );
-- Exemple sur la table ASSET de la schéma MAXIMO:
execute MAXIMO_GATHER_TABLE_STATS('MAXIMO','ASSET');