Bonjour,
J'ai une application qui tourne sur Oracle 9i avec le paramètre [optimiser_mode] positionné à [RULE] et je dois migrer cette application sur Oracle 10g.
Je pensais que ce paramètre n'était plus supporté en Oracle 10g alors j'ai changé le paramètre [optimiser_mode] à [CHOOSE].
=> Résultat, un de mes traitements est passé de 20' à 8h !!!
J'ai tenté de changer en passant à [ALL_ROWS], même résultat.
J'ai tenté de changer en passant à [FISRT_ROWS], même résultat.
Du coup, je suis revenu en mode [RULE] (qui finalement est encore supporté mais déconseillé car n'évolue plus depuis 1994).
Mes questions sont donc :
1 - Que signifie le mode RULE ?
2 - Pourquoi et comment peut-il être aussi performant par rapport au nouveaux modes CBO (Cost Based Optimiser) ?
3 - Si je devais migrer vers un mode CBO, j'ai cru comprendre qu'il fallait recalculer les statistiques... : comment faire ? Est-ce un paramètre à ajouter dans le PFILE ?
Merci pour vos réponses à toutes ou une de mes questions.
Partager