bonjour;
je travaille sous oracle 9i et j'ai lu quelque part qu'on pouvait modifier le niveau d'optimisation d'Oracle, comment faire ? merci
bonjour;
je travaille sous oracle 9i et j'ai lu quelque part qu'on pouvait modifier le niveau d'optimisation d'Oracle, comment faire ? merci
Le mode d'optimisation oui, le niveau... je ne vois pas de quoi tu parles.
Concernant le mode, en 9i il y en a 2 : RULE (dit RBO pour rule based optimizer) et COST (dit CBO pour cost based optimizer).
L'un se base sur des règles syntaxique : RBO
L'autre se base sur la présence des statistiques : CBO
Cela est gouverné par le paramètre OPTIMIZER_MODE.
Note que ça valeur par défaut est CHOOSE, c'est à dire : s'il y a des statistiques sur au moins un des objets utilisé dans un requête, le mode sera CBO. Sinon RBO.
Merci pour la réponse;
mais je pense qu'il y a moyen de choisir aussi le niveau d'optimisation
Maerci pour ta réponse;
Je vais etre plus précise :
L'optimiseur d'Oracle a pour fonction de choisir le plan d'execution optimal mais en pratique il ne choisit q'un plan d'execution résonable pour ne pas mettre beaucoup de temps dans la phase d'optimisation, la pertinence du plan d'execution choisi dépend de son niveau d'optimisation, et je pense que le DBA peut changer son niveau d'optimisation.
J'espère que j'ai été claire
Merci
Bonjour,
Afin d'aider Oracle, tu peux calculer des statistiques au niveau des index en plus des tables ainsi que au niveau partition et sous partition.
De plus tu peux jouer avec les estimate_percent. Plus celui ci sera proche de 100 et plus le calcul sera long mais plus les stats seront "remplies".
Je ne sais pas si c'est ce que tu entends pas niveau d'optimisation.
c'est clair que la question est pour le moins ambigue
- tu peux utiliser des hints pour intervenir sur le comportement d'un explain plan
- tu peux intervenir sur le comportement général de l'optimizer en modifiant quelques paramétres qui peuvent induire celui-ci à préférer un full table scan ou encore un hash join
par ex :
optimizer_index_caching
optimizer_index_cost_adj
db_file_multiblock_read_count
bien entendu, pour le point 2 cela ne doit se faire que pour une raison bien identifiée (pb de perfs)
je t'invite à etre plus clair dans ton post
merci
Partager