Git Product home page Git Product logo

linqpad.queryplanvisualizer's Introduction

LINQPad.QueryPlanVisualizer

Visualize Entity Framework and Linq to SQL queries in LINQPad

NuGet Package GitHub all releases Apache License Ko-Fi

Entity Framework Community Standup Live Show

Entity Framework Community Standup - Entity Framework Community Standup - Visualizing database query plans

SQL Server and PostgreSQL query execution plan visualizer for LINQPad

Features

Supported databases: Sql Server and PostgreSQL.

Supported ORMs: Entity Framework Core 5 and LINQ to SQL

Getting Started

If you use LINQPad 6, you must use version 2.X of this library. For LINQPad 5, you must use version 1.X

Version 2.1 and newer uses Microsoft Edge WebView2 to display the query plan. This requires either WebView2 Runtime to be installed or a recent version of Edge Canary. To download WebView2 Runtime visit Microsoft Edge WebView2 Download Page.

Install from NuGet

If you have a Developer or higher edition of LINQPad, you can use the LINQPadQueryPlanVisualizer package from NuGet to add the visualizer to your queries.

Install as plugin

To install the visualizer as a LINQPad plugin, download the latest release and drop the visualizer dll directly inside LINQPad's plugins folder (by default found at My Documents\LINQPad Plugins\NetCore3 for LINQPad 6 and My Documents\LINQPad Plugins\Framework 4.6 for LINQPad 5). The plugin will be automatically available in all your queries.

Viewing query plan

To view query plan or missing indexes, call static QueryPlanVisualizer.DumpPlan(query) method or call DumpPlan extension method on an IQueryable instance. You will also need to add ExecutionPlanVisualizer to the namespaces list (click F4 to open the dialog). If you want to dump query result as well, pass true as a second parameter.

Query execution plan for Sql Server:

Sql Server query plan

Query execution plan for PostgreSQL:

PostgreSQL query plan

Viewing missing indexes

For SQL Server, the query plan can also return information about missing indexes in QueryPlan/MissingIndexes/MissingIndexGroup element. If missing indexes are present in the plan the visualizer will show a second tab with the missing index details and a button to create the index.

Missing index:

missing indexes

linqpad.queryplanvisualizer's People

Contributors

bio2hazard avatar bumbeishvili avatar giorgi avatar jared314 avatar mohadkamil avatar steveruble avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.