最初の2回で、最適な実行計画を作成するためには、どのような情報を「与える」必要があるか、ということを説明しました。次の2回では、どのような性能試験を実施すれば、アップグレードをきっかけに性能が劣化した処理を確認することができるか、ということを説明しました。最終回の今回は、性能が劣化したSQLを効率良くチューニングする、新しいチューニング方法をお伝えします。
新しいチューニング方法とは?
性能試験をしてみたら、性能が劣化したSQLがあった!
そんな時、皆さんはどのようにチューニングを行なっていますか?
アップグレード前は、NESTED LOOPで動いていたのに、アップグレード後は、HASH JOINで動いているから、ヒント句で固めてみようかな…
というように、ヒント句を埋め込むことにより、チューニングをしている人が多いと思います。
しかし、数十個の表を結合しているような複雑なSQL文では、実行計画のステップ数が数百にも及ぶため、ヒント句をつけて試行錯誤してみても、なかなかアップグレード前の実行計画に戻せない!ということもあると思います。
そのような時は、Oracle Database 11gR1 から登場した、SQL Plan Management(SPM)を使用することをお勧めします。
SPMとは、オプティマイザが作成したSQL文の実行計画を内部的なヒント句として登録し、管理することが出来る機能です。
SPMを使用することで、アップグレード前の実行計画を、新しい環境でも使用するように設定することが可能になります。

この記事は参考になりましたか?
- 性能劣化なんか起こさない!安全アップグレード教室連載記事一覧
-
- 新しいチューニング方法を試してみよう
- 性能要件の厳しいシステムでお勧めする、オラクル製品を利用した性能試験
- アップグレード時にこのテストは実施しよう
- この記事の著者
-
大村奈緒(オオムラナオ)
日本オラクル株式会社
コンサルティングサービス統括
テクノロジーソリューションコンサルティング統括本部
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア