I just pushed change to explain.depesz.com that allows for processing and displaying hints for plans.
For example, take a look at this plan, and check if you'll notice subtle “HINTS" tab.
In there you will see example hints – one about sort and memory, and the other about missing index.
It is not much, but it's a step in (hopefully) right direction, when the explain tool will also provide, automatically, some ideas on what to do to make the thing faster.
Hope you'll find it useful.
Quite a lot of people have been bugging me about it, and finally got some time, and worked on it.
Long story short – it works.
You can add your query below plan (in separate text area), and then it will be displayed as one of tabs
For example, check this plan.
It also works sensibly-ish, if you want to obfuscate your plans, as you can see here.
In case you're interested in technical details …
Continue reading You can now add query to your plan on explain.depesz.com
Just pushed some new changes to expain.depesz.com and it's underlying parsing library.
The changes are:
- If you upload plan in JSON/YAML/XML format, and then you'll look at “TEXT" tab, you will see explain in text format, generated using data from JSON. This explain had slight error in number formatting (3 decimal digits for estimated costs, while text formats use only 2 decimals). THis was reported by ysch on irc. Example plan
- Numbers in node details (for example: Filtered, or Buffers info) are now commified to make it easier to read. Example plan
- Fixed parsing of Planning time in JSON, YAML, and XML formats of explains from PostgreSQL 13. Example plans:
JSON, YAML, and XML.
Some stats, for curious ones:
- site is up for over 11 years and 6 months
- so far there have been 843,215 plans added
- within last 30 days, there have been 484 new plans added daily, on average
- there are 1295 registered users, but only 780 of them ever added any plans
I just released new version of Pg::Explain Perl library that is handling parsing of plans for explain.depesz.com.
There are quite a lot of changes, but mostly internal, but one thing is pretty interesting – Pg::Explain, and because of this also explain.depesz.com should be able to parse plans with arbitrary values of border, linestyle, format, unicode_border_linestyle, unicode_column_linestyle, and unicode_header_linestyle psql options.
You can see five simple examples already uploaded:
Continue reading Changes on explain.depesz.com
Ever since I released explain.depesz.com over 11 years ago there have been cases were people would upload a plan and it didn't parse.
There were many reasons, but the most common was – plan was line-wrapped by injecting new-line characters where there shouldn't be one.
Continue reading Initial support for fixing of line-wrapped plans
Couple of days ago RhodiumToad reported, on irc, a bug in explain.depesz.com.
Specifically – if explain was done using JSON/XML/YAML formats, and node type was Aggregate, the site didn't extract full info.
Continue reading Fix for displaying aggregates on explain.depesz.com
Just now pushed new version of Pg::Explain Perl library that is handling parsing for explain.depesz.com.
There have been many changes, but the short summary is:
- Fix display of heap fetches from json (https://gitlab.com/depesz/explain.depesz.com/issues/15)
- Move global data (planning/execution/total time, trigger info) from top_node to explain object itself
- Add method to easily get real total, wall-clock, runtime of query.
- Add Pg::Explain::Analyzer, so far it can extract node types and their “paths"
- Add scripts to run perltidy, start development tmux env, and explain schema dumper
- Fix handling of parallel queries (hopefully)
- Remove edge-case deep recursion error
- Speed optimization for large explains
Hopefully it will not break anything for you 🙂
And as a final note: explain.depesz.com has been used to add almost 740kplans (out of which 120k were deleted). Currently database contains over 311k public (visible in history), not deleted, plans.