pgAdmin 4 commit: Fixes # 4778 - Implement the query plan analyzer

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

pgAdmin 4 commit: Fixes # 4778 - Implement the query plan analyzer

Ashesh Vashi
Fixes # 4778 - Implement the query plan analyzer

Look 'n' Feel and implementation logic are inspired from
'http://explain.depsez.com'.

It now creates three tabs under the 'Explain' panel when executing a
query using the Explain Analyze/Explain button from the toolbar of the
Query tool.

Graphical
---------
-> Graphical Explain Plan

Analysis
--------
-> Table to show details of the explain plan analyse.
-> Each row represents the statistics per Explain Plan Node
-> It may contains columns like node information, exclusive timing
   (time spent for this explain node excluding the child nodes),
   inclusive timing, actual rows, plan rows,
   rowsx (misestimation between planned vs actual rows), loop.
-> Background color of exclusive, inclusive, rows changes based on
   their values.
i.e.
If Percentage of exclusive, and inclusive timings of total query time
is:
> 90 - Red Color
> 50 - Orange (Between Red & Yellow Color)
> 10 - Yellow color

If planner misestimation for the rows is
> 1000 times - Red Color
> 100 times - Orange (Between Red & Yellow Color)
> 10 times - Yellow Color
Also - if actual rows <= planned rows then it shows up arrow, else it
shows down arrow.

Statistics
----------
-> It contains a HTML table for the statistics per Node Type, and
   a HTML table for the statistics per table.

Reviewed by: Akshay Joshi

Branch
------
master

Details
-------
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=6e4923d7621a9a00d96a7e7d1632795dafbc3243

Modified Files
--------------
.../images/query_explain_analyze_statistics.png    |  Bin 0 -> 255936 bytes
docs/en_US/images/query_explain_analyze_table.png  |  Bin 0 -> 225653 bytes
docs/en_US/images/query_output_explain_details.png |  Bin 124416 -> 169989 bytes
docs/en_US/images/query_output_explain_options.png |  Bin 0 -> 50441 bytes
docs/en_US/images/query_toolbar_explain.png        |  Bin 0 -> 80494 bytes
docs/en_US/query_tool.rst                          |   81 +-
docs/en_US/release_notes_4_14.rst                  |    3 +-
web/pgadmin/misc/static/explain/css/explain.css    |   50 -
web/pgadmin/misc/static/explain/js/explain.js      | 1117 +++++++++++++++-----
web/pgadmin/misc/static/explain/scss/_explain.scss |  139 ++-
web/pgadmin/static/js/pgadmin.js                   |   46 +
web/pgadmin/static/scss/_pgadmin.style.scss        |   14 +
12 files changed, 1104 insertions(+), 346 deletions(-)

Reply | Threaded
Open this post in threaded view
|

Re: pgAdmin 4 commit: Fixes # 4778 - Implement the query plan analyzer

Dave Page-7
Very cool - but I didn't see any tests?

On Tue, Oct 8, 2019 at 12:15 PM Ashesh Vashi <[hidden email]> wrote:
Fixes # 4778 - Implement the query plan analyzer

Look 'n' Feel and implementation logic are inspired from
'http://explain.depsez.com'.

It now creates three tabs under the 'Explain' panel when executing a
query using the Explain Analyze/Explain button from the toolbar of the
Query tool.

Graphical
---------
-> Graphical Explain Plan

Analysis
--------
-> Table to show details of the explain plan analyse.
-> Each row represents the statistics per Explain Plan Node
-> It may contains columns like node information, exclusive timing
   (time spent for this explain node excluding the child nodes),
   inclusive timing, actual rows, plan rows,
   rowsx (misestimation between planned vs actual rows), loop.
-> Background color of exclusive, inclusive, rows changes based on
   their values.
i.e.
If Percentage of exclusive, and inclusive timings of total query time
is:
> 90 - Red Color
> 50 - Orange (Between Red & Yellow Color)
> 10 - Yellow color

If planner misestimation for the rows is
> 1000 times - Red Color
> 100 times - Orange (Between Red & Yellow Color)
> 10 times - Yellow Color
Also - if actual rows <= planned rows then it shows up arrow, else it
shows down arrow.

Statistics
----------
-> It contains a HTML table for the statistics per Node Type, and
   a HTML table for the statistics per table.

Reviewed by: Akshay Joshi

Branch
------
master

Details
-------
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=6e4923d7621a9a00d96a7e7d1632795dafbc3243

Modified Files
--------------
.../images/query_explain_analyze_statistics.png    |  Bin 0 -> 255936 bytes
docs/en_US/images/query_explain_analyze_table.png  |  Bin 0 -> 225653 bytes
docs/en_US/images/query_output_explain_details.png |  Bin 124416 -> 169989 bytes
docs/en_US/images/query_output_explain_options.png |  Bin 0 -> 50441 bytes
docs/en_US/images/query_toolbar_explain.png        |  Bin 0 -> 80494 bytes
docs/en_US/query_tool.rst                          |   81 +-
docs/en_US/release_notes_4_14.rst                  |    3 +-
web/pgadmin/misc/static/explain/css/explain.css    |   50 -
web/pgadmin/misc/static/explain/js/explain.js      | 1117 +++++++++++++++-----
web/pgadmin/misc/static/explain/scss/_explain.scss |  139 ++-
web/pgadmin/static/js/pgadmin.js                   |   46 +
web/pgadmin/static/scss/_pgadmin.style.scss        |   14 +
12 files changed, 1104 insertions(+), 346 deletions(-)



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company