citus_docs icon indicating copy to clipboard operation
citus_docs copied to clipboard

EXPLAIN ANALYZE improvements

Open pykello opened this issue 5 years ago • 0 comments

Why are we implementing it? (sales eng)

What are the typical use cases?

Improvements that were added:

  1. Fix several EXPLAIN ANALYZE issues that was caused by executing queries twice: https://github.com/citusdata/citus/pull/3890. I don't think this needs any documentation.

  2. Showing CTE statistics in EXPLAIN ANALYZE: https://github.com/citusdata/citus/pull/3864

  3. Showing worker queries in EXPLAIN ANALYZE: https://github.com/citusdata/citus/pull/3891

  4. Showing amount of bytes received from workers: https://github.com/citusdata/citus/pull/3901

No GUCs were added.

Communication goals (e.g. detailed howto vs orientation)

Good locations for content in docs structure

"Query Performance Tuning"

I suggest following additions:

  1. Users can see intermediate result file size for CTEs if they do EXPLAIN ANALYZE. They can also see where the data was pushed to. Examples in tests:
  • https://github.com/citusdata/citus/blob/7c52c6edb01270f44f04c3ed769332ccd9eb7d54/src/test/regress/expected/multi_explain.out#L2015
  • https://github.com/citusdata/citus/blob/7c52c6edb01270f44f04c3ed769332ccd9eb7d54/src/test/regress/expected/multi_explain.out#L2097
  1. Users can use the VERBOSE flag (EXPLAIN (ANALYZE true, VERBOSE true) ...) to see the worker queries, which can be used to tune workers. Examples in tests:
  • https://github.com/citusdata/citus/blob/7c52c6edb01270f44f04c3ed769332ccd9eb7d54/src/test/regress/expected/multi_explain.out#L314
  1. Tuple data received from nodes is shown automatically for tasks. Example in tests:
  • https://github.com/citusdata/citus/blob/df98fa8f9e519134bd8b0f451ff6c57e4b73e994/src/test/regress/expected/local_shard_execution.out#L294

pykello avatar Jun 16 '20 18:06 pykello