本日、3時間以上も返ってこないSQLをチューニングしました。
実行計画を見ても、OsqlEditのメッセージ見ても、**K001が遅いと出ていた。
でも、同チューニングしても速くならない。
そこで、実行計画で出ているすべての結合を見直してみた。
**T001が40万件あるので、これがくさい。
そしたらビンゴ!
あたらしいIndexを丁寧に結合条件に合わせて作ったら
15秒で返ってくるようになった。
修正前も
| 24 | VIEW | | 1 | 286 | | 0 (0)| 00:00:01 |
|* 25 | TABLE ACCESS BY INDEX ROWID | T001 | 1 | 286 | | 1941 (1)| 00:00:24 |
|* 26 | INDEX RANGE SCAN | IT0011 | 66861 | | | 32 (0)| 00:00:01 |
って、出てるのになあ。
やっぱりあまり信じ込むのは禁物。