Oracleパフォーマンスチューニング

切羽詰まっているときほど忘れがちなので、戒めのためメモしておこう。

  • WHERE句に使用する列にインディクスをつける
  • なるべく対象行の少ないものを駆動表にする

普通、パフォーマンスはFROM句、WHERE句の書き方によるものだと思っていたが、
OracleXML を使用する場合、SELECTする項目内にupdateXMLを使用すると
パフォーマンスが落ちることがあるみたいだ。

今日試していて不思議だったのは、SQL/PLusで直接SQLを実行するとパフォーマンスが
いいのに、アプリケーションになるとたんに遅くなる現象が発生した。
いろいろ原因を探ったが、違いはSQL/Plusで実行するときに、XML解析エラーとなるため
SELECTで引っ張ってきているupdateXML関数をはずしていた部分しかなかったため、
updateXMLの使用をやめ、プログラム中でXMLを書き換える形式に変更したら、
かなり、改善された。

OracleXML機能は、やっぱり、なぞが多い。