LINQPad で Entity Framework と Linq to SQL クエリを視覚化します。 Visual Studio 拡張機能については、「EFCore.Visualizer」を参照してください。
サポートされているデータベース: SQL Server および PostgreSQL。
サポートされている ORM: Entity Framework Core 5
およびLINQ to SQL
LINQPad 6 以降を使用する場合は、このライブラリのバージョン 2.X を使用する必要があります。 LINQPad 5 の場合は、バージョン 1.X を使用する必要があります。
バージョン 2.1 以降では、 Microsoft Edge WebView2 を使用してクエリ プランを表示します。これには、 WebView2 ランタイムまたは最新バージョンの Edge Canary がインストールされている必要があります。 WebView2 ランタイムをダウンロードするには、Microsoft Edge WebView2 ダウンロード ページにアクセスしてください。
LINQPad の Developer またはそれ以降のエディションをお持ちの場合は、NuGet のLINQPadQueryPlanVisualizer
パッケージを使用して、ビジュアライザーをクエリに追加できます。
ビジュアライザーを LINQPad プラグインとしてインストールするには、最新リリースをダウンロードし、ビジュアライザー DLL を LINQPad のプラグイン フォルダー内に直接ドロップします (デフォルトでは、LINQPad 6 の場合はMy DocumentsLINQPad PluginsNetCore3 、LINQPad 5 の場合はMy DocumentsLINQPad PluginsFramework 4.6にあります)。 )。プラグインはすべてのクエリで自動的に使用できるようになります。
クエリ プランまたは欠落しているインデックスを表示するには、静的なQueryPlanVisualizer.DumpPlan(query)
メソッドを呼び出すか、 IQueryable
インスタンスでDumpPlan
拡張メソッドを呼び出します。また、 ExecutionPlanVisualizer
名前空間リストに追加する必要があります (F4 をクリックしてダイアログを開きます)。クエリ結果もダンプしたい場合は、2 番目のパラメータとしてtrue
を渡します。
SQL Server のクエリ実行プラン:
PostgreSQL のクエリ実行プラン:
SQL Server の場合、クエリ プランはQueryPlan/MissingIndexes/MissingIndexGroup
要素の欠落しているインデックスに関する情報を返すこともできます。プランに欠落しているインデックスが存在する場合、ビジュアライザーには欠落しているインデックスの詳細とインデックスを作成するボタンを含む 2 番目のタブが表示されます。
インデックスがありません: