Microsoft Azureは、DBAが見つけられなかったインデックスを見つけることができますか?



Azure SQL DBを使用しているユーザー向けの小規模ながら興味深い発表です。

7月1日、Azure SQL DatabaseのIndex Advisorを公開テストしました。



インデックスアドバイザーは、すべてのAzure SQL DB(V12)ユーザーが非クラスター化インデックスを作成するために使用できるツールです。 インデックスアドバイザー(IA)は、データベースに推奨されるインデックスをリストします。 それらを作成し、自動的にテストするのに役立ちます! IAは、クエリの負荷とデータへのアクセスの性質を分析し、彼の意見では、シナリオごとに最大のパフォーマンス向上をもたらすインデックスを選択します。







これは、インデックスアドバイザーのメインパネルの外観です。





Microsoft Azureポータルで、アシスタントは推奨インデックスのあるテーブルを表示します。 各レコードは、データベースに対するプラスの効果によってインデックスを特徴付け、インデックスが作成される列とテーブル、および推奨事項が作成された時間を示します。



インデックスアドバイザーの魅力は何ですか?



インデックスアドバイザーは、ユーザーに対して完全に透過的です。 最初に、いくつかのインデックスのリストを選択します。インデックスを作成すると、データベースのパフォーマンスが最大化されます。

次に、インデックスの作成を「注文」すると、48時間以内に完了した作業に関するレポートが届きます。



インデックスの作成に48時間かかるのはなぜですか?



問題は、インデックスを作成した後、インデックスアドバイザーがワークロードにどの程度適合するかをチェックし、結果がマイナスの場合(パフォーマンスが低下した場合)、インデックスアドバイザーが作成したインデックスを自動的に削除することです。

48時間、これは最大時間です。通常、操作はより速く終了します。 これはすべて、外部の干渉なしに、接続(およびもちろんデータ)を失うことなく行われます。



これはどういう意味ですか?



データベースは同じお金でより速く動作し始め、最悪の場合は何も変わりません。 試してみる価値はありませんか?



どうやって試すのですか?



インデックスアドバイザーを試すには、次のものが必要です。



インデックスアドバイザーは推奨事項を作成し、非クラスター化インデックスのみを作成できることに注意することが重要です。



行こう:



  1. ポータルに行く
  2. データベースを選択し、OperationsセクションでIndex Advisorの公開テストに登録します。
  3. 既に推奨事項がある場合は、おめでとうございます! 運がよければ、すぐにデータベースの最適化を開始してください。
  4. それ以外の場合、インデックスアドバイザーが十分な情報を蓄積するまで数日待つ必要があります。
  5. 最初のテーブルからインデックスを選択し、右側のパネルで「インデックスを作成」をクリックします。

    (好奇心のために:「スクリプトの表示」をクリックすると、インデックスを作成するために実行されるSQLクエリを確認するためのマトリックスコードを見ることができます)






作成とテストが完了すると、完了した操作のテーブルにインデックスが表示されます。







右側のインデックスパフォーマンス: 2つのクエリは42%高速です。 インデックスには22MBかかります



以上です!



ねえ、これは何ですか...? または、ああ、なんてかっこいい!



マイクロソフトは、さまざまなフィードバックメカニズムを提供することで、ますますユーザーの声に耳を傾けようとしています。

インデックスアドバイザーとその推奨事項が気に入った場合は、お気軽にそう言ってください。 まあ、彼が台無しにしたり、愚かなインデックスを作成することを提案した場合は、「フィードバック」ボタンをクリックしてレポートを作成してください。







MSDNドキュメント

免責事項:私はインデックスアドバイザーチームの作業に参加し、質問が表示された場合は回答を試みます。



All Articles