{"id":13595611,"url":"https://github.com/Giorgi/LINQPad.QueryPlanVisualizer","last_synced_at":"2025-04-09T13:32:55.792Z","repository":{"id":52845291,"uuid":"53326643","full_name":"Giorgi/LINQPad.QueryPlanVisualizer","owner":"Giorgi","description":"SQL Server and PostgreSQL query execution plan visualizer for LINQPad","archived":false,"fork":false,"pushed_at":"2024-05-31T17:43:54.000Z","size":1262,"stargazers_count":401,"open_issues_count":4,"forks_count":30,"subscribers_count":22,"default_branch":"main","last_synced_at":"2024-11-05T07:34:33.362Z","etag":null,"topics":["efcore","linqpad","linqpad-plugin","npgsql","nuget","postgresql","sql-server"],"latest_commit_sha":null,"homepage":"https://www.giorgi.dev/miscellaneous/introducing-linqpad-queryplanvisualizer/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Giorgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Giorgi","patreon":null,"open_collective":null,"ko_fi":"giorgi","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-03-07T13:13:21.000Z","updated_at":"2024-10-31T21:04:49.000Z","dependencies_parsed_at":"2023-11-29T23:24:52.041Z","dependency_job_id":"7faaea02-eae5-4dc3-ae46-c31e672d31bb","html_url":"https://github.com/Giorgi/LINQPad.QueryPlanVisualizer","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giorgi%2FLINQPad.QueryPlanVisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giorgi%2FLINQPad.QueryPlanVisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giorgi%2FLINQPad.QueryPlanVisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Giorgi%2FLINQPad.QueryPlanVisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Giorgi","download_url":"https://codeload.github.com/Giorgi/LINQPad.QueryPlanVisualizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223394652,"owners_count":17138591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["efcore","linqpad","linqpad-plugin","npgsql","nuget","postgresql","sql-server"],"created_at":"2024-08-01T16:01:53.569Z","updated_at":"2024-11-06T18:31:24.468Z","avatar_url":"https://github.com/Giorgi.png","language":"C#","readme":"# LINQPad.QueryPlanVisualizer\n\nVisualize Entity Framework and Linq to SQL queries in LINQPad. For Visual Studio extension see [EFCore.Visualizer](https://github.com/Giorgi/EFCore.Visualizer)\n\n[![NuGet Package](https://img.shields.io/nuget/dt/LINQPadQueryPlanVisualizer.svg?label=LINQPadQueryPlanVisualizer\u0026style=flat-square\u0026logo=NuGet)](https://www.nuget.org/packages/LINQPadQueryPlanVisualizer/)\n[![GitHub all releases](https://img.shields.io/github/downloads/Giorgi/LINQPad.QueryPlanVisualizer/total?logo=github\u0026style=flat-square)](https://github.com/Giorgi/LINQPad.QueryPlanVisualizer/releases)\n[![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square\u0026logo=Apache)](License.md)\n[![Ko-Fi](https://img.shields.io/static/v1?style=flat-square\u0026message=Support%20the%20Project\u0026color=success\u0026style=plastic\u0026logo=ko-fi\u0026label=$$)](https://ko-fi.com/U6U81LHU8)\n\n## Entity Framework Community Standup Live Show\n\n[![Entity Framework Community Standup - Entity Framework Community Standup - Visualizing database query plans](https://img.youtube.com/vi/Zhy5antRDJk/0.jpg)](https://www.youtube.com/watch?v=Zhy5antRDJk)\n\n## SQL Server and PostgreSQL query execution plan visualizer for LINQPad\n\n\u003cimg align=\"right\" width=\"200\" height=\"200\" src=\"IconSmall.png\"\u003e\n\n## Features\n\n* View query execution plan inside LINQPad\n* View missing indexes for query\n* Share plan to [https://www.brentozar.com/pastetheplan/](https://www.brentozar.com/pastetheplan/) or [https://explain.dalibo.com/](https://explain.dalibo.com/)\n* Create missing indexes directly from LINQPad\n* Open plan in SQL Server Management Studio or another default app\n* Save plan to disk\n\nSupported databases: Sql Server and PostgreSQL.\n\nSupported ORMs: `Entity Framework Core 5` and `LINQ to SQL`\n\n## Getting Started\n\n**If you use LINQPad 6 or newer, you must use version 2.X of this library. For LINQPad 5, you must use version 1.X**\n\nVersion 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](https://developer.microsoft.com/en-us/microsoft-edge/webview2/).\n\n### Install from NuGet\n\nIf you have a Developer or higher edition of LINQPad, you can use the `LINQPadQueryPlanVisualizer` package from NuGet\nto add the visualizer to your queries.\n\n### Install as plugin\n\nTo install the visualizer as a LINQPad plugin, download the [latest release](https://github.com/Giorgi/QueryPlanVisualizer/releases/latest) 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.\n\n## Viewing query plan\n\nTo 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.\n\nQuery execution plan for Sql Server:\n\n![Sql Server query plan](screenshots/Query%20Plan.PNG \"Query execution plan inside LINQPad\")\n\nQuery execution plan for PostgreSQL:\n\n![PostgreSQL query plan](screenshots/Postgres%20Query%20Plan.PNG \"Query execution plan inside LINQPad\")\n\n## Viewing missing indexes\n\nFor 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.\n\nMissing index:\n\n![missing indexes](screenshots/Missing%20Index.PNG \"Missing index\")\n\n## What Others Are Saying\n\n[![Scott Hanselman](screenshots/Scott%20Hanselman.png \"Scott Hanselman\")](https://twitter.com/shanselman/status/1555036430392389632)\n\n[![Julie Lerman](screenshots/Julie%20Lerman.png \"Julie Lerman\")](https://twitter.com/julielerman/status/1415367790844907527)\n\n[![Jeremy Likness](screenshots/Jeremy%20Likness.png \"Jeremy Likness\")](https://twitter.com/jeremylikness/status/1415368187760185346)\n","funding_links":["https://github.com/sponsors/Giorgi","https://ko-fi.com/giorgi","https://ko-fi.com/U6U81LHU8"],"categories":["C#","C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGiorgi%2FLINQPad.QueryPlanVisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGiorgi%2FLINQPad.QueryPlanVisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGiorgi%2FLINQPad.QueryPlanVisualizer/lists"}