citus_docs
citus_docs copied to clipboard
EXPLAIN ANALYZE improvements
Why are we implementing it? (sales eng)
What are the typical use cases?
Improvements that were added:
-
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.
-
Showing CTE statistics in EXPLAIN ANALYZE: https://github.com/citusdata/citus/pull/3864
-
Showing worker queries in EXPLAIN ANALYZE: https://github.com/citusdata/citus/pull/3891
-
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:
- 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
- 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
- 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