Two months ago, I asked a question: Which execution plan icons are relevant today? In that post, I talked about the operator icons shown in the SQL Server Execution Plan Reference. I explained my reasons to choose the four sets of icons displayed (SSMS 17.4 and up, SSMS up to 17.3; Azure Data Studio; and Plan Explorer). And I then also explained why I believe those choices should be reconsidered, and outlined my own thinking in this area.
The short version of my ideas is that I would keep the icons for SSMS 17.4 and up but rename that column to reflect that these icons are also used in Azure Data Studio (ADS), keep the icons for SSMS 17.3 and older, remove the “old” ADS icons, and keep the Plan Explorer (PE) icons.
And then I asked for your opinions. I don’t consider myself to be infallible, I don’t believe my opinion is more relevant than yours. So even while it’s my site, I want to make my decision after taking all other opinions into account.
Unfortunately, I did not get a lot of feedback. I’ll remain positive and interpret that as meaning that most readers trust me to make the best choices, and hence see no reason to provide feedback. There were also a few responses on Twitter that explicitly told me that they agreed with my proposals.
Just one set?
There was one dissenting opinion, though. Happydba commented on my blog, proposing to keep only the current SSMS / ADS icons, and get rid of all other icons.
I read his reasoning with great interest, and I gave his idea, and arguments, some serious thought. But at the end of the day, I decided against it.
The SQL Server Execution Plan Reference is, as the name already suggests, a reference. As such, I have always aimed for completeness. And even though I know I will probably never be able to achieve a full 100% coverage of everything related to execution plans, I do believe that I am getting very close to that target.
On a site that aims for completeness, I believe that tools that are used by many users should be included. As far as I know, many people still regularly work with older versions of SSMS. And as far as I know, many people like to use PE. The other feedback I have received does indeed confirm that these tools are still relevant. And that’s why I have decided not to embrace the “KISS” option that Happydba suggests.
And yet …
And yet, despite the support I received for my proposal to remove the old ADS icons and keep the rest (slightly relabeled as appropriate), I then decided to still take a slightly different approach.
At the end of my post from April, I asked to also let me know if you believe that I should add more third-party tools. And while nobody has responded to that specific question, I myself realized, after writing and posting that blog, that I know of a third-party tool that I believe should be included.
Paste The Plan
Paste The Plan is a website that is created by Brent Ozar Unlimited. It is a completely free (no payment needed, no registration required, and not even any ads in the sidebars) online tool that can be used to easily share execution plans.
Let’s say that you are stuck with an execution plan issue, and you decided to ask for help in the SQL Server community. So you post a question to the #sqlhelp channel on Twitter. But you cannot attach an execution plan in a tweet? How to get around that?
Or perhaps you decide to ask on StackOverflow instead. Hooray, now you can include a screenshot of the execution plan with your question! But then you’ll get responses from people like me, who want to click around in execution plans and check the properties. We don’t want a screenshot, we want the plan itself. We’ll ask you to save the plan as a .sqlplan file (which is actually the execution plan XML), and share that file, instead of only posting a screenshot!
But now that you have your .sqlplan file, how do you share it? Neither Twitter nor StackOverflow supports attachments. One possible solution would be to upload the file to your website and provide a direct link – if you have a website. Another option is to use one of the websites designed for sharing files, such as e.g. file.io or filetransfer.io. But those sites have their issues, and it’s a hassle for the community people who answer your question – they must download the file, store it, then open it with their favorite tool, before they even see the execution plan.
And this is where Paste The Plan (PTP) comes in. All you need is the execution plan XML, which you can find in SSMS or ADS by right-clicking in the execution plan and choosing the “show XML” option. In PE, you’ll find it in the Plan XML tab (next to the Text Data tab). Select the entire XML, paste it in the PTP input window, and click “Submit”. The website will store the submitted XML, and render it in a graphical form, allowing you to instantly see the plan shape. A good way to verify that you didn’t accidentally paste the XML of a different plan than the one you intended.
You are then also given a URL that you can share on Twitter, on StackOverflow, or anywhere else. Such as this one (for a very simple execution plan I pasted as an example). Everyone who clicks that URL will immediately see the execution plan that you have just submitted. They can look at the operators. They can hover operators to see some of their properties. There is, unfortunately, no way to see all the properties – for that, they will have to click the Download button, which supplies them with a .sqlplan file that they can then open in their favorite tool. And in those tools, they will then be able to access all the properties.
All in all, I consider PTP to be a truly excellent tool. Everyone who ever might run into an issue where they need help with an execution plan should be aware of this tool. And everyone who ever considers helping others in the community with their performance issues should also know this site.
And for that reason, I have decided to add the icons that Paste The Plan uses for all operators to the Operator List, and to all individual operator pages.
In with the new!
Putting it all together, this means that the new version of the Operator List will once more have four sets of icons, and those same four sets will also be shown on all individual operator pages. The most important icons are, of course, those that are used in the current versions of both SSMS and ADS. This column will be labeled “SSMS and ADS (current versions)”. Next to that will be a column for the icons as used in older versions of SSMS; this column will be called “Legacy SSMS”. The third column will be for Plan Explorer, and the rightmost one is then the new column, for Paste The Plan.
Making this change on all individual operator pages is a time-consuming operation, and there is no easy way to prepare it all in the background and then push all changes live at the same time. So expect to see all pages change, one by one, over the course of the next few days. I will start with the Operator List, and then work my way through all pages for the operators that I have already described. Once all are changed, I will, as the last step for this change, update the Change Log page.