Oracle 質問総合スレ10
■ このスレッドは過去ログ倉庫に格納されています
0182NAME IS NULL
2014/08/28(木) 20:40:17.62ID:???SQL*Plus の AUTOTRACE で見た実行計画と、
DBMS_XPLAN.DISPLAY_CURSOR()で見た実行計画とで出方が違うのはなんでなん??
リンク元とリンク先のDBでSQLトレースONにしてみたら、
リンク元が馬鹿な結合(MERGE JOIN CARTESIAN)を選択していて
BUFFER SORT が大量発生。
INDEX RANGE SCAN して欲しいんだけど、それはリンク先のDBしか知らない情報なので、
リンク元がMERGE JOIN CARTESIANを選択し、
リンク先に渡したSQLがINDEXを使わない形に変換されてて、TABLE ACCESS FULL になってた。
こういうケースだとINDEXヒント書いても効かなかった。
MERGE JOIN CARTESIANを辞めさそうとUSE_NL書いたら、辛うじて少し早くなった。
(リンク元がMERGE JOIN CARTESIANではなく、NESTED LOOPを選択してくれたため)
でも INDEX は使ってくれへん。。。
誰か DBLink を使った実行計画で悩んだ人、おらん?
■ このスレッドは過去ログ倉庫に格納されています