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.
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