Salut
Est il recommandé d utiliser les baselines dans un nouveau projet (mode batch) ?
Merci
Salut
Est il recommandé d utiliser les baselines dans un nouveau projet (mode batch) ?
Merci
Que-est que ça apporte comme avantage avec un accent sur le mode batch ?
Dans quelle mesure ces avantages compense les désavantages de cette méthode ?
Ce n'est pas la capture des sql plan baselines qui améliore la performance.
Lorsque vous activez le paramètre optimizer_capture_sql_plan_baselines
Les plans d'exécutions de vos requêtes(exécutées plus d'une fois) seront stockées dans une base de données appelée SPB (SQL Plan Baseline). Ces plans d’exécutions ainsi stockés auront pour but de restreindre le choix du CBO fait pour des requêtes ayant la même signature que celle dont le plan d'exécution a été capturé. Bien sûr ceci n'est vrai que lorsque le deuxième paramètre à savoir optimizer_use_sql_plan_baselines est positioné à TRUE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQL> show parameter baseline NAME TYPE VALUE ------------------------------------ ----------- ------ ---- optimizer_capture_sql_plan_baselines boolean FALSE optimizer_use_sql_plan_baselines boolean TRUE
Donc, lorsque vous êtes sûr et satisfait du temps d’exécution d'une de vos requêtes et que vous voudriez stabiliser le plan qui lui est associé alors vous pourrez dans ce cas capturer ce plan et le laisser toujours affecté à votre requête. Il faut tout de même que votre plan soit reproductible au moment de l’exécution de votre requête.
En résumé je dirai que les SQL plan baselines ont pour rôle principal de stabiliser un plan d'exécution et non pas d'améliorer la performance.
Il faudrait aussi faire attention au cas où vous avez plusieurs SQL plan baselines "Enabled" et "Accepted" pour une même signature et que le plan trouvé par le CBO ne correspond à aucun plan contenu dans ces deux baselines; dans ce cas vous allez vous rendre compte que la génération du plan prend du temps car le CBO réalisera qu'il est empêché par le SPB d'utiliser le plan qu'il vient de produire et qu'en même temps il dispose de deux plans dans la SPB. Il doit alors commencer à ré-evaluer le coût de chacun de ces deux plans avant d'en choisir le meilleur. Ceci a pour conséquence une augmentation du temps du parsing.
J'ai écrit un article qui résume un peu ce travail du CBO.
Moralité: pour toute utilisation d'une option d'Oracle faudrait mieux (a) bien se documenter (b) bien tester avant de vouloir l'utiliser en PRODUCTION
Bonjour,
?
« Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
- Confucius -
Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office
Solutions d'Entreprise
![]()
Partager