クエリ ヒントの推奨事項ツールは、SQL Server Management Studio (SSMS) のユーザーがクエリ のパフォーマンスを向上させるためにクエリ ヒントを探索するタスクを支援するように設計されています。 ロールに関係なく、クエリ ヒントレコメンデーション ツールを使用すると、クエリのパフォーマンスを向上させるために、1 つ以上のクエリ ヒントをより効率的に見つけるのに役立ちます。
概要
クエリ ヒントレコメンデーション ツールは、アクティブなクエリ エディター ウィンドウ内の 1 つのクエリで動作し、異なるクエリ ヒントが適用されたクエリを実行します。
- クエリ エディター ウィンドウでデータベースに接続します。
- ツールで評価するクエリ全体を選択します。
- Tools>Query Hint Recommendation Tool を使用してクエリ ヒント推奨ツールを開きます。
- クエリ エディターの横にツール ウィンドウが開きます。
- 次の入力パラメーターが必要です。
- 最大チューニング時間: 有益なクエリ ヒントの検索に費やされた合計時間 (秒単位)。 既定値は 300 秒 (5 分) です。
- 最小改善率: ユーザーが受け入れるクエリ パフォーマンスの最小向上率。 このパラメーターは、効果の低いヒントを除外し、大幅な改善を実現できるヒントに割り当てられた時間を使用するのに役立ちます。 このパラメーターはパーセンテージとして指定され、既定値は 50%、経過時間は少なくとも 2 倍向上します。
- [ 開始] を選択して、さまざまなヒントを使用してクエリの実行を開始します。
| Key | Description |
|---|---|
| 1 | タイトル バー |
| 2 | ウィンドウをピン留めまたは閉じるためのツールウィンドウコントロール |
| 3 | 必要な入力パラメーター (最大チューニング時間と最小改善率) |
| 4 | フォルダー選択ボタン |
| 5 | [開始] ボタン (クエリ ヒントの探索を開始する) |
| 6 | クエリ ヒントの領域を構成するための高度なオプション |
| 7 | ヒントの推奨事項の概要 |
| 八 | クエリ期間の改善を視覚化するグラフ |
| 9 | グラフの表示/非表示を切り替える |
| 10 | 探索されたクエリ ヒントの表形式ビュー |
ログ ファイル
クエリ ヒントの推奨事項ツールは、エラーを含む評価プロセスに関する詳細情報を含むログ ファイルを作成し、トラブルシューティングに役立ちます。 ログ ファイルは既定でユーザーの %TEMP% フォルダーに格納され、ツール ウィンドウのフォルダー選択ボタンを使用して変更できます。
チューニング プロセスの視覚化
クエリ ヒントの推奨事項ツールには、チューニング プロセスの視覚的な表現を提供するグラフが含まれています。これにより、ユーザーはさまざまなクエリ ヒントのパフォーマンスへの影響をリアルタイムで確認できます。 グラフにはベースライン パフォーマンスの測定が含まれ、見つかったヒントが段階的に役立つようになる様子のパフォーマンスが重ねられています。
探索されたヒントの表形式ビュー
クエリ ヒントの推奨事項ツールでは、探索されたすべてのヒントを表形式で表示することもできます。 このビューには、ヒント テキスト、パフォーマンスへの影響、チューニング時間を節約するためにスキップされたかどうかなどの重要な情報が含まれます。 このビューを使用すると、ユーザーはさまざまなヒントの有効性をすばやく評価し、適用するヒントに関する情報に基づいた決定を行うことができます。
| コラム | Description |
|---|---|
| タイムスタンプ | 指定したクエリ ヒントを使用してクエリが実行された時刻。 |
| テスト ID | テスト実行の一意の識別子。 |
| 経過時間 (ミリ秒) | クエリ ヒントが適用されたクエリ実行時間 (ミリ秒単位)。 クエリが特定のクエリ ヒントで実行されていない場合、実行をスキップする理由が含まれます。 |
| ゲイン % | クエリ ヒントによって達成されたクエリ実行時間の改善率。 |
| Hint | クエリに適用されるクエリ ヒント。 |
クエリ ヒントのスキップ
クエリ ヒント推奨ツールでは、特定のヒントをスキップしてチューニング効率を向上させるために、次の条件を使用します。
| 理由をスキップする | Description |
|---|---|
| クエリ プランが無効です | クエリ ヒントがクエリに適用されると、有効なクエリ プランは生成されません。 |
| スキップ済み (改善は期待されません) | クエリ ヒントを使用すると、以前に適用されたヒントと同じ実行プランが作成されるか、これまでに見つかった最適なクエリ ヒントとの比較に役立たないと予想されます。 |
| 停止 (制限時間を超える) | クエリの実行は、予想される期間がこれまでの最適なプランよりも長いため、終了します。 |
選択したクエリにヒントを追加する
クエリ ヒントの推奨ツールを使用すると、ユーザーはエディター ウィンドウで現在選択されているクエリにヒントを簡単に追加できます。 これにより、クエリ テキストを手動で変更することなくヒントを適用するプロセスが効率化されます。
- エディター ウィンドウでクエリが強調表示されていることを確認します。
- 適用するクエリ ヒントを右クリックします。
- [ クエリにヒントを追加] を選択します。
- クエリ ヒントがエディターのクエリに追加されます。
エディターでのクエリの実行を超えてクエリ ヒントを保持するには、クエリ ストア ヒントとして適用できます。 詳細については、「クエリ ストアのヒント」を参照してください。
詳細オプション
クエリ ヒントレコメンデーション ツールには、クエリ ヒントの領域をカスタマイズするための高度なオプションが用意されています。 これらのオプションを使用すると、ユーザーは次のような特定のヒントを構成して調べることができます。
- プラン領域ヒント: クエリの演算子と結合順序を制御するヒント。
- カーディナリティ モデル ヒント: 実行プランのカーディナリティの推定に使用されるカーディナリティ モデルを変更するヒント。
- その他: 並列処理の次数の制御など、その他のクエリ ヒント。
既定では、クエリ ヒントレコメンデーション ツールは、定義済みのすべてのクエリ ヒントとクエリ ヒントの特定の組み合わせを探索します。 詳細オプション パネルを使用すると、ヒントの組み合わせ、特定のヒント カテゴリ、特定のヒントの除外など、探索するヒントの領域をカスタマイズできます。