3分動画で分かる「SQL Performance Analyzer(SPA)」の使い方【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(2)(2/3 ページ)

» 2017年07月05日 05時00分 公開
[長内麻記株式会社アシスト]

 いかがでしたでしょうか。動画では簡略化して表現しましたが、実際の環境ではSQLの本数が数千〜数十万本の単位になるでしょう。人力で1本1本調べるのはほぼ不可能ですが、SPAを使うことで、SQLの新旧比較からレポート化までを自動で実行してくれます。

 では、SAPを使った評価フローの詳細を解説していきます。

SPAを使ったSQLの評価フロー

 SPAでは、SQLの評価を以下の流れで行います(図1)。

photo 図1 SPAを使用したSQL評価フロー

 本番環境で処理する全てのSQLのうち、STS(SQLチューニングセット)に格納されたものがテスト対象のSQLです。

 STSはカーソルキャッシュやAWR(Automatic Workload Repository)から作成できますが、テスト対象のSQLをなるべく増やすために、一定期間・一定間隔でカーソルキャッシュからSQLを取得します。AWRからは過去に実行したSQLを取得できますが、そもそもAWRには負荷の高いSQLの情報しか記録されません。こちらには注意してください。

 次にSPAの機能によってSQLがテスト環境で実行されます。ここで実行可能なSQLなのか、エラーとなるSQLなのかが選別されます。バージョンアップによって「構文チェックが厳密化したことからエラーとなるSQL」などがここで見つかります。さらに、実行可能なSQLのうち「実行計画に変化があるかどうか」の観点でも選別され、実行計画が変わるもののうち「性能が低下するもの」と影響がないもので分けられます。ここでの「性能」の基準は、経過時間、コスト、バッファー読み取り量などの軸で判断されます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。