mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-20854: ANALYZE for statements: not clear where the time is spent
Count the "gap" time between table accesses and display it as r_other_time_ms in the "table" element. * The advantage of this approach is that it doesn't add any new my_timer_cycles() calls. * The disadvantage is that the definition of what is done during "other time" is not that clear: it includes checking the WHERE (for this table), constructing index lookup tuple (for the next table) writing to GROUP BY temporary table (as we dont account for that time separately [yet], etc)
This commit is contained in:
@ -24,9 +24,9 @@ EXPLAIN (select a,b from t1) intersect (select c,d from t2) intersect (select e,
|
||||
EXPLAIN extended (select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3);
|
||||
EXPLAIN extended select * from ((select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3)) a;
|
||||
EXPLAIN format=json (select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3);
|
||||
--replace_regex /"r_total_time_ms": [0-9e\.\-+]*,/"r_total_time_ms": "REPLACED",/
|
||||
--source include/analyze-format.inc
|
||||
ANALYZE format=json (select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3);
|
||||
--replace_regex /"r_total_time_ms": [0-9e\.\-+]*,/"r_total_time_ms": "REPLACED",/
|
||||
--source include/analyze-format.inc
|
||||
ANALYZE format=json select * from ((select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3)) a;
|
||||
select * from ((select a,b from t1) intersect (select c,d from t2) intersect (select e,f from t3)) a;
|
||||
|
||||
@ -44,9 +44,9 @@ EXPLAIN extended (select a,b from t1) intersect (select c,e from t2,t3);
|
||||
EXPLAIN extended select * from ((select a,b from t1) intersect (select c,e from t2,t3)) a;
|
||||
set @@optimizer_switch='optimize_join_buffer_size=off';
|
||||
EXPLAIN format=json (select a,b from t1) intersect (select c,e from t2,t3);
|
||||
--replace_regex /"r_total_time_ms": [0-9e\.\-+]*,/"r_total_time_ms": "REPLACED",/
|
||||
--source include/analyze-format.inc
|
||||
ANALYZE format=json (select a,b from t1) intersect (select c,e from t2,t3);
|
||||
--replace_regex /"r_total_time_ms": [0-9e\.\-+]*,/"r_total_time_ms": "REPLACED",/
|
||||
--source include/analyze-format.inc
|
||||
ANALYZE format=json select * from ((select a,b from t1) intersect (select c,e from t2,t3)) a;
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
select * from ((select a,b from t1) intersect (select c,e from t2,t3)) a;
|
||||
|
Reference in New Issue
Block a user