KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

【SQL Server版】効果的な Index を自動で検出する SQL Optimizer の Generate Indexes 利用手順

■概要
 SQL Optimizerは、SQL文を簡単操作で自動チューニングする機能です。
 SQL Optimizer の機能の一つとして Generate Indexes という効果的なインデックスを自動で検出する機能があります。
 通常、効果的なインデックスの設計には熟練のDBAが必要になりますが、この機能を使うことで熟練のDBAなしに効果的なインデックスの作成が可能です。
  ※SQL Optimizer には類似の機能として Optimeze Indexes がありますが、単一のSQLのチューニングでは Generate Indexes、
   複数のSQLで最適なインデックスを検出する場合には Optimeze Indexes というように使い分けを実施してください。

■利用可能エディション
 Toad for SQL Server Xpert Edition
 Toad for SQL Server Developer Edition

■利用手順
 1) スタートメニューの検索バーに『Quest SQL Optimizer for SQL』と入力し、Quest SQL Optimizer for SQL Serverを起動する。

図1:スタートメニューからの起動

 2) SQL Optimizer for SQL Serverが起動したら、『SQL Rewrite』をクリックする。

図2:SQL Optimizer起動画面

 3) Optimize SQL画面が表示されたら、エディタ領域(①)にチューニングしたいSQL文をペーストする。
   SQL文をペースト後、『Generate Indexes』ボタン(②)をクリックする。

図3:Generate Indexes起動

 4) 接続情報画面が表示されたら下記情報を入力し、『OK』をクリックする。
   - Connection
   - Database
   - Set user

図4:DB接続情報画面

 5) 画面下部(①)にIndexの作成プランとコストが表示される。実際に実行した時間を比較するためには『Test Run – All』(②)をクリックする。

図5:Generate Indexes結果表示

 6) usage and symptomが表示されたら、まずは下記の注意を確認する。
   注意に記載の事項が問題なければ何もせずに『Start Test Run』をクリックする。

図6:Test Run Settings画面

 7) Index Creation Script画面が表示されたら、『OK』をクリックする。
   ※各IndexのFilegroupも設定可能ですが、ここではデフォルトのFilegroupに作成します

図7:Index Creation Script画面

 8) 生成されたインデックス作成プランに基づいて、インデックスを作成しSQLが開始される。

図8:Test Run結果表示

 9) チューニングが完了し、最適なインデックス作成プランが表示されたら、『Compare』をクリック(①)し、
   オリジナルと最適なIndexプランの実行時間や読み込み回数など(②)確認する。
  十分に有効だと判断した場合は、『Index Script』をクリック(③)し、
   表示されたインデックス作成文(④)を採用する。
  ※インデックス作成は別途Toadやsqlcmd等で実行してください。

以上でSQLチューニングが完了です。
インデックスを生成することでSQLのパフォーマンスが改善します。

本機能は以下の用途で活用できます。
 - SQLチューニングの仕方が分からない方向け
 - SQLチューニングの工数を削減したい方
 - SQL文の性能品質が求められるシーン
 - 開発者側のSQL性能品質を均一化したい

以下のTipsもあわせてご活用ください。
 - SQL Server Management Studio(SSMS)とToadの連携
 - 実データに即したデータを生成できるData Generate手順
 - Spotlight on SQL ServerでT-SQLを監視する方法

Toadは30日間、フル機能で無償トライアルも可能です。
Toadに少しでも興味を持っていただけたなら、是非次のページもご参照ください。
 ・トライアルのご依頼はこちら
 ・Spotligh概要ページはこちら
 ・Spotlight on Oracle機能紹介ページはこちら
 ・Spotlight on SQL Server機能紹介ページはこちら
 ・Toad概要ページはこちら
 ・Toad for Oracle機能紹介ページはこちら
 ・Toad for SQL Server機能紹介ページはこちら
 ・Toadの製品紹介資料ダウンロードはこちら