Azure SQL DBを使用しているユーザー向けの小規模ながら興味深い発表です。
7月1日、Azure SQL DatabaseのIndex Advisorを公開テストしました。
インデックスアドバイザーは、すべてのAzure SQL DB(V12)ユーザーが非クラスター化インデックスを作成するために使用できるツールです。 インデックスアドバイザー(IA)は、データベースに推奨されるインデックスをリストします。 それらを作成し、自動的にテストするのに役立ちます! IAは、クエリの負荷とデータへのアクセスの性質を分析し、彼の意見では、シナリオごとに最大のパフォーマンス向上をもたらすインデックスを選択します。
これは、インデックスアドバイザーのメインパネルの外観です。
Microsoft Azureポータルで、アシスタントは推奨インデックスのあるテーブルを表示します。 各レコードは、データベースに対するプラスの効果によってインデックスを特徴付け、インデックスが作成される列とテーブル、および推奨事項が作成された時間を示します。
インデックスアドバイザーの魅力は何ですか?
インデックスアドバイザーは、ユーザーに対して完全に透過的です。 最初に、いくつかのインデックスのリストを選択します。インデックスを作成すると、データベースのパフォーマンスが最大化されます。
次に、インデックスの作成を「注文」すると、48時間以内に完了した作業に関するレポートが届きます。
インデックスの作成に48時間かかるのはなぜですか?
問題は、インデックスを作成した後、インデックスアドバイザーがワークロードにどの程度適合するかをチェックし、結果がマイナスの場合(パフォーマンスが低下した場合)、インデックスアドバイザーが作成したインデックスを自動的に削除することです。
48時間、これは最大時間です。通常、操作はより速く終了します。 これはすべて、外部の干渉なしに、接続(およびもちろんデータ)を失うことなく行われます。
これはどういう意味ですか?
データベースは同じお金でより速く動作し始め、最悪の場合は何も変わりません。 試してみる価値はありませんか?
どうやって試すのですか?
インデックスアドバイザーを試すには、次のものが必要です。
- V12サーバー上のAzure SQLデータベース
- しばらく使用されてきたデータベース。
インデックスアドバイザーは推奨事項を作成し、非クラスター化インデックスのみを作成できることに注意することが重要です。
行こう:
- ポータルに行く
- データベースを選択し、OperationsセクションでIndex Advisorの公開テストに登録します。
- 既に推奨事項がある場合は、おめでとうございます! 運がよければ、すぐにデータベースの最適化を開始してください。
- それ以外の場合、インデックスアドバイザーが十分な情報を蓄積するまで数日待つ必要があります。
- 最初のテーブルからインデックスを選択し、右側のパネルで「インデックスを作成」をクリックします。
(好奇心のために:「スクリプトの表示」をクリックすると、インデックスを作成するために実行されるSQLクエリを確認するためのマトリックスコードを見ることができます)
作成とテストが完了すると、完了した操作のテーブルにインデックスが表示されます。
右側のインデックスパフォーマンス: 2つのクエリは42%高速です。 インデックスには22MBかかります
以上です!
ねえ、これは何ですか...? または、ああ、なんてかっこいい!
マイクロソフトは、さまざまなフィードバックメカニズムを提供することで、ますますユーザーの声に耳を傾けようとしています。
インデックスアドバイザーとその推奨事項が気に入った場合は、お気軽にそう言ってください。 まあ、彼が台無しにしたり、愚かなインデックスを作成することを提案した場合は、「フィードバック」ボタンをクリックしてレポートを作成してください。
MSDNドキュメント
免責事項:私はインデックスアドバイザーチームの作業に参加し、質問が表示された場合は回答を試みます。