While we’ve been building the back end of pgMustard, we’ve also been playing around with what an early version could look like.
As a reminder, pgMustard will be a performance tuner for Postgres — you put in an execution plan, and get a visualisation of the query, along with schema and query tuning suggestions, in return.
As I previously wrote, we’re inspired by tools like PEV and explain.depesz.com, but believe that adding more advice would be valuable, and that we could improve on the user experience.
Submitting the query plan
The process starts with you submitting a query plan. We want to keep this step simple and functional, with a reminder that we need plans in JSON format, but not much else.
It’ll look something like this:
Visualisation and advice
We’re keen to save you time, so while there may be a lot of information in the plan, we aim to simplify this and only display what matters.
A table view will allow for sorting the nodes by time taken, and a tree view will emphasise the structure of the query more clearly. We’re keen to link the two, perhaps by keeping their select / highlight state in sync.
We also want to draw attention to any advice we have, if one of the tips we support is appropriate. We’ll mark these with a mustard-coloured heart, 💛.
Highlighting the right information is likely to be an ongoing challenge for us. We think being sparing with colour, to avoid highlighting too much, would help. It would be nice for our heart(s) to stand out, even for a longer plan.
The combination of both table and tree views will be tricky to keep simple, but hopefully they make up for that with additional context, which should save time understanding the plan.
Please tell us how! We’re not precious, feel free to comment here, get in touch on Twitter, or reply to an email (see below). Big thanks to those who have already given us feedback, and we look forward to hearing from more of you.
Stay in the loop
If you’d like to stay up to date on our progress, the best way is to sign up on our website.