1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-30972: ANALYZE FORMAT=JSON: some time is unaccounted-for in BNL-H join

After MDEV-30830 has added block-nl-join.r_unpack_time_ms, it became
apparent that there is some unaccounted-for time in BNL join operation,
namely the time that is spent after unpacking the join buffer record.

Fix this by adding a Gap_time_tracker to track the time that is spent
after unpacking the join buffer record and before any next time tracking.
The collected time is printed in block-nl-join.r_other_time_ms.

Reviewed by: Monty <monty@mariadb.org>
This commit is contained in:
Sergei Petrunia
2023-03-31 16:16:53 +03:00
parent 0269d82d53
commit 31536b2477
14 changed files with 180 additions and 9 deletions

View File

@@ -846,11 +846,16 @@ public:
/* When using join buffer: Track the reads from join buffer */
Table_access_tracker jbuf_tracker;
/*
Track the time to unpack rows from the join buffer.
*/
/* When using join buffer: time spent unpacking rows from the join buffer */
Time_and_counter_tracker jbuf_unpack_tracker;
/*
When using join buffer: time spent after unpacking rows from the join
buffer. This will capture the time spent checking the Join Condition:
the condition that depends on this table and preceding tables.
*/
Gap_time_tracker jbuf_extra_time_tracker;
/* When using join buffer: Track the number of incoming record combinations */
Counter_tracker jbuf_loops_tracker;