18 March, 1998 Updated
PCDN OracleWG S.Yamazaki
一口にチューニングと言っても様々なアプローチがあると思います。CPUやメモリなどハードウエアリソース、ネットワーク構成など、パフォーマンスに影響を及ぼす要因は至る所にあると言っても過言ではありません。
しかし、パフォーマンスに影響を及ぼす要因の半分以上はSQL文にあるといっても言い過ぎではないと思います。たとえば、「当初数千件のデータで検索していた場合は数秒で取得できたSQL文が、数年の後、数百万件に増えたときに数分かかってしまう」、ということはよくありがちです。もちろん、データ件数に比例してレスポンスが劣化するのは致し方ないことなのかもしれませんが、極端なレスポンスの劣化を防ぐ手段も無いわけではないと思います。
この「SQLパフォーマンスチューニング」では、以下に沿って、どうすればパフォーマンスの向上を図れるか、また、劣化を防ぐためにはどのようなことに留意すればよいか、などについて触れていきたいと思います。
表・索引
クラスタ表とクラスタ索引
I/Oの分散
Oracleのオプティマイザ -RBOとCBO-
正しい索引の使用方法
ヒントを使用する
実行計画の分析 -EXPLAIN PLANを使用する-
統計情報 -ANALYZEコマンドの使用-
SQL TRACEの使用
動的パフォーマンス表の活用
以上のように、各項目に分けて説明していますが、必ずしも全てが必要というわけでもありません。実際、システムの環境に応じて、できることとできないこともありますし、全く不満のないパフォーマンスを得られている環境もあることでしょう。
それぞれの環境に応じた受け止め方をしていただきたいと思います。