citusdata / citusdata/citus_docs

EXPLAIN ANALYZE improvements

Open
#941 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
CSS
Stars
58
Forks
60
PR merge metrics
No merged PRs in 30d

Description

## 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

2. 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

3. 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.