USE_HASH, USE_NL, USE_MERGE...

Oracle くん。実行計画と統計が楽しい。今までしばらく Object Manager ばかり使っていたから、具体的な実行計画とか統計の出し方って知らなかったのだけど Common SQL Environment を使ってると統計までは見せてくれないので調べてみた。もっとも CSE で set AUTOTRACE TRACEONLY は使えなくて結局のところ統計は SQL*Plus で見ている。ほかに今のところ方法がない。

というわけで hint 句。しばらく CSE を使っていたため統計が読めず、実行計画は変わるけどコスト上がるし意味があるのか?使い方が下手なだけか?と悩んでいたのだけど、統計を見ると実はけっこう変わるんだね。 consistent gets なんかが明らかに違う。

いろいろ意見してみるといろいろ変わる。やっぱりなかなか楽しい。