2019年8月15日に0.9.6に更新されました。
昨年、私はここで開発チームの1つ(SQLインジェクターと呼ばれています)と一緒に、AzureDataStudio内でSentryOneプランエクスプローラーの機能を複製する可能性について話し合いました。いくつかの議論の後、私たちはその概念をリーダーシップチームに持ち込み、計画を実行に移しました。
ご想像のとおり、いくつかの問題がありました。 Plan Explorerはデスクトップテクノロジーを使用して作成されており、ADSはまったく新しい世界です。すべての.NETFrameworkコードを.NETCoreに変換し、UIコードをNode and Reactに変更して、計画図の実装全体を作り直す必要がありました。途中で多くの楽しいことが起こったので、別の投稿のためにすべてのバックストーリーを保存します。Microsoftの素晴らしい人々、Karl Burtram、Alan Yu、Alan Ren、Charles Gagnon、VickyHarpから多くの助けを得ました。いくつか例を挙げると。今のところ、プレビューをどのように入手するか、これまでの内容(いくつかのスクリーンショットを含む)、および既知の問題に焦点を当てたいと思います。
入手方法
Plan Explorer拡張機能にアクセスするには、無料のSentryOneクラウドアカウントを作成し、EULAに同意する必要があります。このアカウントを使用すると、サポートフォーラムにアクセスでき、今後のリリースや新機能に関する最新情報を入手できます。アカウントを作成したら、extensions.sentryone.comにアクセスします。ここで、拡張機能をダウンロードするための次のリンクが表示されます。
これにより、Azure Data Studioに「サイドロード」する必要があるVSIXファイルが提供されます(Microsoftは、VS Codeの場合のように、ADS Marketplaceでのサードパーティ拡張機能の完全なホスティングをサポートしていません)。
まず、要件を満たしていることを確認してください:
- Azure Data Studio 1.9.0以降(7月の発表投稿)
- .NET Core Runtime 2.1以降(Windows | macOS | Linux)
- SQLServer2012以降またはAzureSQLデータベースへの接続
推奨されるシステム構成:
- 2つ以上のコア
- 8GB以上のメモリ
- オペレーティングシステム:
- Windows(8.1 / Server 2012 R2以降)
- macOS(10.13以上)
- RedHat(7.6以上)
- SuSE(12.0以上)
- Ubuntu(18.04以上)
次に、拡張機能をインストールするには:
- AzureDataStudioを開きます。
- ファイルを選択します>VSIXパッケージから拡張機能をインストール 。 VSIXファイルをダブルクリックすることはできません。
- ダウンロードしたSentryOnePlanExplorer VSIXファイルを見つけて、[インストール]をクリックします。 。
- 以前に却下したことがない限り、サードパーティの拡張機能を信頼することについてのプロンプトに対して「はい」と答える必要があります。
Azure Data Studioの新しいバージョンが十分にない場合(または、まだテストしていない変更を加えたInsiderのビルドを使用している場合)、一部の機能が期待どおりに機能しない可能性があります。
.NET Coreランタイムの新しいバージョンが十分にない場合(または実行されていない場合)、インストールが成功した後に次のエラーメッセージが表示されます。
内容
デスクトップアプリケーションと同様に、Plan Explorer拡張機能は、SQLServerに対するリアルタイムクエリのより豊富なグラフィカル実行プランを提供するように設計されています。これは、機能の適度なサブセットに基づいています。計画図、基本的なステートメントグリッド、ツールチップ、およびXMLへのアクセス(他のツールで計画を開くことができるようにするため)から始めました。今後、拡張機能に機能を追加して、デスクトップクライアントと可能な限り完全に同等に近づけるようにします。
拡張機能を有効または無効にするには
- SentryOneプランエクスプローラーをクリックします ステータスバーの要素:
- またはShift+ Ctrlを押します /⌘+P Toggle SentryOne Plan Explorerを見つけます :
- またはShift+ Ctrlを押します /⌘+F5 。
実行計画を収集する
- 拡張機能が有効になっていることを確認します。
- 新しいクエリウィンドウで、サーバーへの接続を確立し、クエリを作成または貼り付けます。
- 推定値の場合 計画するには、説明を使用します ツールバーのボタン。
- 実際の場合 計画するには、 Ctrlを使用します /⌘+M 。
- 新しいトップレベルのドキュメントが開きます(プランエクスプローラーというタイトル) )ステートメントのグリッドを含み、プランを生成するステートメントごとに1行:
- 基になるプランのXMLを表示するには、[XMLの表示]をクリックします 。
- ステートメントの計画図を表示するには、[計画の表示]をクリックします 。
- オペレーターの要約ツールチップを表示するには、オペレーターにカーソルを合わせます。パネルの右側に詳細情報と「スティック」が含まれている拡張バージョンの場合は、演算子をクリックします。
- ズームレベル、実際の計画と推定計画の切り替え、I / OまたはCPUのみによるコストの表示、行数またはデータサイズによってレンダリングされる線幅の変更など、ダイアグラムのプロパティを変更するには、右-図の任意の場所をクリックします:
ステートメントグリッド デフォルトのライトテーマを使用した計画図 ソラライズドダークをテーマにした計画図
圧縮および拡張されたツールチップ 図のオプションのコンテキストメニュー - 欠落しているインデックスの推奨事項が存在する場合、ルートノードオペレーターのツールチップに警告が表示され、右クリックのコンテキストメニューオプションがダイアグラムの任意の場所で使用可能になります(欠落しているインデックスのスクリプトが開きます)。新しい、切断されたトップレベルのクエリウィンドウで):
インデックスツールチップの警告とコンテキストメニューオプションがありません インデックススクリプトがありません
0.9.6の新機能–2019年8月15日
- 行数とデータサイズの間で線幅を切り替えるコンテキストメニューオプションを追加しました
- 新しいクエリウィンドウに不足しているインデックスの推奨事項を表示するコンテキストメニューオプションを追加しました
- 競合の可能性を減らすために、デフォルトのAPIポートを5000から5042にシフトしました
- 競合が発生した場合にローカルポート番号をカスタマイズするための設定を追加しました。
- 拡張機能のオン/オフ切り替えをステータスバーに移動しました(提案に感謝します、Drew Skwiers-Koballa!)
- トラブルシューティングに役立つ出力パネルの追加の診断:
- いくつかのオペレーターアイコンを更新しました(左側が古い、右側が新しい):アサート ClusteredIndexDelete ClusteredIndexMerge ClusteredIndexUpdate ColumnstoreIndexDelete 消去 DeletedScan FetchQuery ForeignKeyRefCheck IndexDelete IndexUpdate InsertedScan KeyLookup PopulationQuery RemoteDelete RemoteQuery RIDLookup 順序 スイッチ WindowAggregate
キーとRIDルックアップアイコンの変更は、Plan Explorer 19.0.1ですでに行われていることに注意してください(ここで説明します)。これらの残りの変更は、まもなくプランエクスプローラーに表示されます。
既知の問題
- Plan Explorer拡張機能を有効にすると、ネイティブの
Explain
も体験できます。 Azure Data Studioによって提供される機能(Dave Blandがその機能についてここで説明しています)。 - 実際の計画の場合、グリッドで使用できる実行時メトリックは、期間とCPU(SQL Serverの最新バージョンの場合)のみです。その他のデータは、読み取りとコスト%から始まる将来のリリースで表示されます。
- Azure Data Studioは現在、プランXML出力を2MBで切り捨てています(問題#6299を参照)。そのため、より大きなプランやより大きなバッチの場合、すべてのプランを表示できない場合があります。これは、Explainを使用して推定計画を生成するときに発生する可能性が高くなります(したがって、推定計画
には「いいえ」と言ってください)。 - [ファイル]メニューにアクセスできないため、プランを開いたり保存したりすることはできません。また、プランエクスプローラーという名前のドキュメントウィンドウを1つしか開くことができません。 –つまり、少なくとも今のところ、一度に表示できる計画図は1つだけです。
インデックスがありません 、 線幅オプション 、およびサブツリー折りたたみ機能はプレビューでは使用できません。レイアウトオプションもありませんが、マウスホイールまたはトラックパッドピンチでズームしたり、2本指のトラックパッドスワイプでパンしたりできます。 - 前のセッションから復元されたドキュメントでAzureDataStudioを開くと、その状態のドキュメントの列挙に問題があるため、PlanExplorer拡張機能の有効化がこれらのウィンドウに適用されない場合があります。 Microsoftが修正をリリースするまで、PlanExplorerをオフにしてから再度オンに切り替えるとうまくいくはずです。
- テーマのサポートは現時点では実験的です:
- すべての背景色が美しくレンダリングされるわけではなく、何があってもすべてのリンクが青色になります。
- ダークテーマ用に設計された代替アイコンが作成中です。
- プランのレンダリング後にカラーテーマを変更した場合、現在、イベントをキャプチャできません。ダイアグラムを操作して(右クリックなど)、強制的に「追いつく」ようにします。
詳細情報を取得します。フィードバックを提供する
- 製品ページ
- 公式の製品ドキュメント
- SentryOne PlanExplorer/クエリチューニングフォーラム
- AzureDataStudioチームからの7月のリリース発表
- 質問に答えたり、[email protected]でフィードバックを受け取ったりするのはいつでも喜んでいます