Bonjour,
je souhaiterais savoir s'il existe un paramètre caché ou autre chose pour empêcher le CBO d'avoir recours au merge join cartesian.
Discussion :
Bonjour,
je souhaiterais savoir s'il existe un paramètre caché ou autre chose pour empêcher le CBO d'avoir recours au merge join cartesian.
_optimizer_mjc_enabled en version 10g : il est par défaut à TRUE.
je vais tester c'est super si ça marche
j'étais à l'instant sur le blog de Jonathan LEWIS et il expliquait qu'il ne connaissait pas de moyen pour éviter le MERGE JOIN CARTESIAN si ce n'est en trafiquant les predicats:
There is no silver bullet for this issue. It’s the way the optimizer happens to operate, and sometimes it does it in inappropriate situations – perhaps in association with a statistics issue. If you can identify the few statements that are going wrong one possible workaround is to change the join predicate that is disappearing from something like:
t2.colX = t1.colY
to something like
t2.colX = t1.colY + 0
Obviously you will need to work out if there are any side effects of this code change – and you will probably want to remove the hack on the upgrade to 10g.
Comment by Jonathan Lewis — September 17, 2007 @ 10:58 am UTC Sep 17,2007 | Reply
Partager