Do not report ERROR when sample rate equals 100
This commit is contained in:
@ -470,11 +470,10 @@ Query Plan
|
||||
--------------------------------------------------------------
|
||||
|0 |HASH DISTINCT | |1 |3 |
|
||||
|1 |└─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|3 | └─MATERIAL | |1 |3 |
|
||||
|4 | └─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|5 | └─SCALAR GROUP BY | |1 |3 |
|
||||
|6 | └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|2 | ├─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|3 | │ └─SCALAR GROUP BY | |1 |3 |
|
||||
|4 | │ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|5 | └─TABLE FULL SCAN |t1 |3 |3 |
|
||||
==============================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -482,20 +481,19 @@ Outputs & filters:
|
||||
distinct([VIEW1.sum(b)])
|
||||
1 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
2 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
3 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
4 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
2 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW1.sum(b)])
|
||||
5 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
3 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t2.b))])
|
||||
6 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
4 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
access([t2.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a]), range(MIN ; MAX)always true,
|
||||
pushdown_aggregation([T_FUN_SUM(t2.b)])
|
||||
5 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
select (select sum(b) from t2) as temp from t1 group by temp having temp > 4;
|
||||
+------+
|
||||
| temp |
|
||||
@ -509,11 +507,10 @@ Query Plan
|
||||
--------------------------------------------------------------
|
||||
|0 |HASH DISTINCT | |1 |3 |
|
||||
|1 |└─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|3 | └─MATERIAL | |1 |3 |
|
||||
|4 | └─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|5 | └─SCALAR GROUP BY | |1 |3 |
|
||||
|6 | └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|2 | ├─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|3 | │ └─SCALAR GROUP BY | |1 |3 |
|
||||
|4 | │ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|5 | └─TABLE FULL SCAN |t1 |3 |3 |
|
||||
==============================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -521,20 +518,19 @@ Outputs & filters:
|
||||
distinct([VIEW1.sum(b)])
|
||||
1 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
2 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
3 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
4 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
2 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW1.sum(b)])
|
||||
5 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) < cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
3 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) < cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t2.b))])
|
||||
6 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
4 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
access([t2.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a]), range(MIN ; MAX)always true,
|
||||
pushdown_aggregation([T_FUN_SUM(t2.b)])
|
||||
5 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
select (select sum(b) from t2) as temp from t1 group by temp having temp < 4;
|
||||
+------+
|
||||
| temp |
|
||||
@ -549,15 +545,14 @@ Query Plan
|
||||
|1 |├─SUBPLAN SCAN |VIEW2|1 |3 |
|
||||
|2 |│ └─HASH DISTINCT | |1 |3 |
|
||||
|3 |│ └─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|
||||
|4 |│ ├─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|5 |│ └─MATERIAL | |1 |3 |
|
||||
|6 |│ └─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|7 |│ └─SCALAR GROUP BY | |1 |3 |
|
||||
|8 |│ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|9 |└─MATERIAL | |1 |3 |
|
||||
|10| └─SUBPLAN SCAN |VIEW3|1 |3 |
|
||||
|11| └─SCALAR GROUP BY | |1 |3 |
|
||||
|12| └─TABLE FULL SCAN |t3 |1 |3 |
|
||||
|4 |│ ├─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|5 |│ │ └─SCALAR GROUP BY | |1 |3 |
|
||||
|6 |│ │ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|7 |│ └─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|8 |└─MATERIAL | |1 |3 |
|
||||
|9 | └─SUBPLAN SCAN |VIEW3|1 |3 |
|
||||
|10| └─SCALAR GROUP BY | |1 |3 |
|
||||
|11| └─TABLE FULL SCAN |t3 |1 |3 |
|
||||
==================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -569,26 +564,25 @@ Outputs & filters:
|
||||
distinct([VIEW1.sum(b)])
|
||||
3 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
4 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
5 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
6 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
4 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW1.sum(b)])
|
||||
7 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
5 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t2.b))])
|
||||
8 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
6 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
access([t2.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a]), range(MIN ; MAX)always true,
|
||||
pushdown_aggregation([T_FUN_SUM(t2.b)])
|
||||
7 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
8 - output([VIEW3.sum(b)]), filter(nil), rowset=16
|
||||
9 - output([VIEW3.sum(b)]), filter(nil), rowset=16
|
||||
10 - output([VIEW3.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW3.sum(b)])
|
||||
11 - output([T_FUN_SUM(T_FUN_SUM(t3.b))]), filter(nil), rowset=16
|
||||
10 - output([T_FUN_SUM(T_FUN_SUM(t3.b))]), filter(nil), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t3.b))])
|
||||
12 - output([T_FUN_SUM(t3.b)]), filter(nil), rowset=16
|
||||
11 - output([T_FUN_SUM(t3.b)]), filter(nil), rowset=16
|
||||
access([t3.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t3.a]), range(MIN ; MAX)always true,
|
||||
@ -606,11 +600,10 @@ Query Plan
|
||||
--------------------------------------------------------------
|
||||
|0 |HASH DISTINCT | |1 |3 |
|
||||
|1 |└─NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|
||||
|2 | ├─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|3 | └─MATERIAL | |1 |3 |
|
||||
|4 | └─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|5 | └─SCALAR GROUP BY | |1 |3 |
|
||||
|6 | └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|2 | ├─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|3 | │ └─SCALAR GROUP BY | |1 |3 |
|
||||
|4 | │ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|5 | └─TABLE FULL SCAN |t1 |3 |3 |
|
||||
==============================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -618,20 +611,19 @@ Outputs & filters:
|
||||
distinct([VIEW1.sum(b)])
|
||||
1 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
2 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
3 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
4 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
2 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW1.sum(b)])
|
||||
5 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))], [T_FUN_SUM(T_FUN_SUM(t2.b)) > T_FUN_SUM(T_FUN_SUM(t2.b))]), rowset=16
|
||||
3 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))], [T_FUN_SUM(T_FUN_SUM(t2.b)) > T_FUN_SUM(T_FUN_SUM(t2.b))]), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t2.b))])
|
||||
6 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
4 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
access([t2.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a]), range(MIN ; MAX)always true,
|
||||
pushdown_aggregation([T_FUN_SUM(t2.b)])
|
||||
5 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
select (select sum(b) from t2) as temp from t1 group by temp having temp > 4 and temp > (select sum(b) from t2);
|
||||
+------+
|
||||
| temp |
|
||||
@ -645,30 +637,28 @@ Query Plan
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
------------------------------------------------------------
|
||||
|0 |NESTED-LOOP JOIN CARTESIAN | |1 |3 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |3 |3 |
|
||||
|2 |└─MATERIAL | |1 |3 |
|
||||
|3 | └─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|4 | └─SCALAR GROUP BY | |1 |3 |
|
||||
|5 | └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|1 |├─SUBPLAN SCAN |VIEW1|1 |3 |
|
||||
|2 |│ └─SCALAR GROUP BY | |1 |3 |
|
||||
|3 |│ └─TABLE FULL SCAN |t2 |3 |3 |
|
||||
|4 |└─TABLE FULL SCAN |t1 |3 |3 |
|
||||
============================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([VIEW1.sum(b)], [t1.a]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
1 - output([t1.a]), filter(nil), rowset=16
|
||||
access([t1.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
2 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
3 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
1 - output([VIEW1.sum(b)]), filter(nil), rowset=16
|
||||
access([VIEW1.sum(b)])
|
||||
4 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
2 - output([T_FUN_SUM(T_FUN_SUM(t2.b))]), filter([T_FUN_SUM(T_FUN_SUM(t2.b)) > cast(4, DECIMAL_INT(33, 0))]), rowset=16
|
||||
group(nil), agg_func([T_FUN_SUM(T_FUN_SUM(t2.b))])
|
||||
5 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
3 - output([T_FUN_SUM(t2.b)]), filter(nil), rowset=16
|
||||
access([t2.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a]), range(MIN ; MAX)always true,
|
||||
pushdown_aggregation([T_FUN_SUM(t2.b)])
|
||||
4 - output([t1.a]), filter(nil), rowset=16
|
||||
access([t1.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a]), range(MIN ; MAX)always true
|
||||
select (select sum(b) from t2) as temp, a from t1 group by a having temp > 4;
|
||||
+------+---+
|
||||
| temp | a |
|
||||
@ -1067,7 +1057,7 @@ Query Plan
|
||||
=============================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------------
|
||||
|0 |SUBPLAN FILTER | |1 |9 |
|
||||
|0 |SUBPLAN FILTER | |0 |9 |
|
||||
|1 |├─TABLE FULL SCAN |table1|1 |3 |
|
||||
|2 |└─SUBPLAN FILTER | |1 |7 |
|
||||
|3 | ├─SCALAR GROUP BY | |1 |5 |
|
||||
|
||||
@ -151,8 +151,8 @@ Query Plan
|
||||
=============================================================================
|
||||
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------------------------------------
|
||||
|0 |PX COORDINATOR | |2 |41 |
|
||||
|1 |└─EXCHANGE OUT DISTR |:EX10003|2 |40 |
|
||||
|0 |PX COORDINATOR | |2 |43 |
|
||||
|1 |└─EXCHANGE OUT DISTR |:EX10003|2 |41 |
|
||||
|2 | └─HASH UNION DISTINCT | |2 |38 |
|
||||
|3 | ├─HASH JOIN | |1 |18 |
|
||||
|4 | │ ├─PX PARTITION ITERATOR | |1 |11 |
|
||||
|
||||
@ -419,11 +419,11 @@ Query Plan
|
||||
===================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
---------------------------------------------------
|
||||
|0 |UNION ALL | |3 |7 |
|
||||
|0 |UNION ALL | |2 |7 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |1 |3 |
|
||||
|2 |└─MERGE JOIN | |2 |5 |
|
||||
|2 |└─MERGE JOIN | |1 |5 |
|
||||
|3 | ├─TABLE FULL SCAN|t2 |2 |3 |
|
||||
|4 | └─TABLE FULL SCAN|t1 |2 |3 |
|
||||
|4 | └─TABLE FULL SCAN|t1 |1 |3 |
|
||||
===================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
@ -445,47 +445,61 @@ Outputs & filters:
|
||||
range_key([t1.c1]), range(MIN ; MAX)always true
|
||||
explain select * from t1 where t1.c2 = 5 or exists (select 1 from t2 where t1.c1 > t2.c1);
|
||||
Query Plan
|
||||
==============================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------
|
||||
|0 |SUBPLAN FILTER | |2 |39 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |2 |3 |
|
||||
|2 |└─DISTRIBUTED TABLE RANGE SCAN|t2 |1 |18 |
|
||||
==============================================================
|
||||
================================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------
|
||||
|0 |UNION ALL | |2 |24 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |1 |3 |
|
||||
|2 |└─NESTED-LOOP SEMI JOIN | |1 |21 |
|
||||
|3 | ├─TABLE FULL SCAN |t1 |1 |3 |
|
||||
|4 | └─DISTRIBUTED TABLE RANGE SCAN|t2 |1 |18 |
|
||||
================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([t1.c1], [t1.c2], [t1.c3]), filter([t1.c2 = 5 OR (T_OP_EXISTS, subquery(1))]), rowset=16
|
||||
exec_params_([t1.c1(:0)]), onetime_exprs_(nil), init_plan_idxs_(nil), use_batch=true
|
||||
1 - output([t1.c1], [t1.c2], [t1.c3]), filter(nil), rowset=16
|
||||
0 - output([UNION([1])], [UNION([2])], [UNION([3])]), filter(nil), rowset=16
|
||||
1 - output([t1.c1], [t1.c2], [t1.c3]), filter([t1.c2 = 5]), rowset=16
|
||||
access([t1.c1], [t1.c2], [t1.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([t1.c1]), range(MIN ; MAX)always true
|
||||
2 - output([1]), filter(nil), rowset=16
|
||||
access([GROUP_ID]), partitions(p0)
|
||||
limit(1), offset(nil), is_index_back=false, is_global_index=false,
|
||||
range_key([t2.c1]), range(MIN ; MAX)always true,
|
||||
2 - output([t1.c1], [t1.c2], [t1.c3]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_([t1.c1(:0)]), use_batch=false
|
||||
3 - output([t1.c1], [t1.c2], [t1.c3]), filter([lnnvl(cast(t1.c2 = 5, TINYINT(-1, 0)))]), rowset=16
|
||||
access([t1.c1], [t1.c2], [t1.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([t1.c1]), range(MIN ; MAX)always true
|
||||
4 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.c1]), range(MIN ; MAX),
|
||||
range_cond([:0 > t2.c1])
|
||||
explain select * from t1 where t1.c2 = 5 or exists (select 1 from t2 where t1.c1 < t2.c1);
|
||||
Query Plan
|
||||
==============================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
--------------------------------------------------------------
|
||||
|0 |SUBPLAN FILTER | |2 |39 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |2 |3 |
|
||||
|2 |└─DISTRIBUTED TABLE RANGE SCAN|t2 |1 |18 |
|
||||
==============================================================
|
||||
================================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
----------------------------------------------------------------
|
||||
|0 |UNION ALL | |2 |24 |
|
||||
|1 |├─TABLE FULL SCAN |t1 |1 |3 |
|
||||
|2 |└─NESTED-LOOP SEMI JOIN | |1 |21 |
|
||||
|3 | ├─TABLE FULL SCAN |t1 |1 |3 |
|
||||
|4 | └─DISTRIBUTED TABLE RANGE SCAN|t2 |1 |18 |
|
||||
================================================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([t1.c1], [t1.c2], [t1.c3]), filter([t1.c2 = 5 OR (T_OP_EXISTS, subquery(1))]), rowset=16
|
||||
exec_params_([t1.c1(:0)]), onetime_exprs_(nil), init_plan_idxs_(nil), use_batch=true
|
||||
1 - output([t1.c1], [t1.c2], [t1.c3]), filter(nil), rowset=16
|
||||
0 - output([UNION([1])], [UNION([2])], [UNION([3])]), filter(nil), rowset=16
|
||||
1 - output([t1.c1], [t1.c2], [t1.c3]), filter([t1.c2 = 5]), rowset=16
|
||||
access([t1.c1], [t1.c2], [t1.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([t1.c1]), range(MIN ; MAX)always true
|
||||
2 - output([1]), filter(nil), rowset=16
|
||||
access([GROUP_ID]), partitions(p0)
|
||||
limit(1), offset(nil), is_index_back=false, is_global_index=false,
|
||||
range_key([t2.c1]), range(MIN ; MAX)always true,
|
||||
2 - output([t1.c1], [t1.c2], [t1.c3]), filter(nil), rowset=16
|
||||
conds(nil), nl_params_([t1.c1(:0)]), use_batch=false
|
||||
3 - output([t1.c1], [t1.c2], [t1.c3]), filter([lnnvl(cast(t1.c2 = 5, TINYINT(-1, 0)))]), rowset=16
|
||||
access([t1.c1], [t1.c2], [t1.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([t1.c1]), range(MIN ; MAX)always true
|
||||
4 - output(nil), filter(nil), rowset=16
|
||||
access(nil), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.c1]), range(MIN ; MAX),
|
||||
range_cond([:0 < t2.c1])
|
||||
explain select * from t1, t2 where t1.c1 > exists(select c1 from t2 where t2.c1 = t1.c1);
|
||||
Query Plan
|
||||
@ -607,8 +621,8 @@ Query Plan
|
||||
=======================================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
-------------------------------------------------------
|
||||
|0 |UNION ALL | |3 |11 |
|
||||
|1 |├─HASH JOIN | |2 |6 |
|
||||
|0 |UNION ALL | |5 |11 |
|
||||
|1 |├─HASH JOIN | |4 |6 |
|
||||
|2 |│ ├─TABLE FULL SCAN |t1 |2 |3 |
|
||||
|3 |│ └─TABLE FULL SCAN |t2 |2 |3 |
|
||||
|4 |└─MERGE SEMI JOIN | |1 |5 |
|
||||
@ -986,27 +1000,27 @@ Query Plan
|
||||
===============================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------
|
||||
|0 |TABLE FULL SCAN|t1 |0 |3 |
|
||||
|0 |TABLE FULL SCAN|t1 |1 |3 |
|
||||
===============================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([t1.a], [t1.b]), filter(nil), startup_filter([0]), rowset=16
|
||||
access([t1.a], [t1.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.__pk_increment]), range(MAX ; MIN)always false
|
||||
range_key([t1.__pk_increment]), range(MIN ; MAX)always true
|
||||
explain select * from t1 where not exists (select max(a) from t2);
|
||||
Query Plan
|
||||
===============================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------
|
||||
|0 |TABLE FULL SCAN|t1 |0 |3 |
|
||||
|0 |TABLE FULL SCAN|t1 |1 |3 |
|
||||
===============================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([t1.a], [t1.b]), filter(nil), startup_filter([0]), rowset=16
|
||||
access([t1.a], [t1.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.__pk_increment]), range(MAX ; MIN)always false
|
||||
range_key([t1.__pk_increment]), range(MIN ; MAX)always true
|
||||
explain select * from t1 where not exists (select group_concat(a, b) from t2 group by a);
|
||||
Query Plan
|
||||
=================================================
|
||||
@ -1033,14 +1047,14 @@ Query Plan
|
||||
===============================================
|
||||
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
|
||||
-----------------------------------------------
|
||||
|0 |TABLE FULL SCAN|t1 |0 |3 |
|
||||
|0 |TABLE FULL SCAN|t1 |1 |3 |
|
||||
===============================================
|
||||
Outputs & filters:
|
||||
-------------------------------------
|
||||
0 - output([t1.a], [t1.b]), filter(nil), startup_filter([0]), rowset=16
|
||||
access([t1.a], [t1.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.__pk_increment]), range(MAX ; MIN)always false
|
||||
range_key([t1.__pk_increment]), range(MIN ; MAX)always true
|
||||
explain select * from t1 where not exists (select max(a), sum(a), count(a) from t2 group by a);
|
||||
Query Plan
|
||||
=================================================
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
--disable_abort_on_error
|
||||
# 15:10:53 Starting
|
||||
# 15:10:53 gentest.pl \
|
||||
# 15:10:53 --dsn1=dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test \
|
||||
# 15:10:53 --dsn2=dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 15:10:53 --dsn1=dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test \
|
||||
# 15:10:53 --dsn2=dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 15:10:53 --gendata=conf/ob_subquery_materialization.mysql.zz \
|
||||
# 15:10:53 --grammar=conf/ob_subquery_materialization.mysql.yy \
|
||||
# 15:10:53 --threads=1 \
|
||||
@ -16,7 +16,7 @@
|
||||
# 15:10:53 --myprint
|
||||
# 15:10:53 -------------------------------
|
||||
# 15:10:53 Configuration
|
||||
# 15:10:53 dsn => ['dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 15:10:53 dsn => ['dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 15:10:53 duration => 3600
|
||||
# 15:10:53 gendata => conf/ob_subquery_materialization.mysql.zz
|
||||
# 15:10:53 grammar => conf/ob_subquery_materialization.mysql.yy
|
||||
@ -105,9 +105,9 @@ COMMIT;
|
||||
# 15:10:59 Starting 1 processes, 8000 queries each, duration 3600 seconds.
|
||||
# 15:10:59 GenTest::ErrorFilter(114237) started
|
||||
# 15:10:59 Default schema: test
|
||||
# 15:10:59 Caching metadata for dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test
|
||||
# 15:10:59 Caching metadata for dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test
|
||||
# 15:10:59 Default schema: test
|
||||
# 15:10:59 Caching metadata for dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 15:10:59 Caching metadata for dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 15:10:59 Started periodic reporting process...
|
||||
#SELECT DISTINCT MIN(DISTINCT OUTR . `col_varchar_20` ) AS X FROM B AS OUTR2 LEFT JOIN B AS OUTR ON ( OUTR2 . `col_varchar_10` >= OUTR . `col_varchar_10` ) WHERE OUTR . `pk` IN ( #SELECT DISTINCT INNR . `col_int` AS Y FROM CC AS INNR WHERE INNR . `col_int_key` > INNR . `pk` AND OUTR . `col_datetime` BETWEEN '2003-01-15' AND '2005-04-19' ) OR ( OUTR . `col_date` <= '2000-08-04' AND NOT OUTR . `pk` IS NOT NULL ) ORDER BY OUTR . `col_datetime` , OUTR . `pk`;
|
||||
#SELECT DISTINCT MAX(DISTINCT OUTR . `pk` ) AS X FROM B AS OUTR WHERE ( OUTR . `pk` , OUTR . `col_int_key` ) IN ( #SELECT INNR . `pk` AS X , INNR . `pk` AS Y FROM BB AS INNR WHERE INNR . `col_datetime` < INNR . `col_date` AND INNR . `col_datetime_key` BETWEEN '2007-12-03' AND '2002-10-12' ORDER BY INNR . `col_date` ) AND ( OUTR . `col_date_key` BETWEEN '2002-04-08' AND '2002-09-07' AND OUTR . `col_int_key` < 2 ) HAVING X > NULL ORDER BY OUTR . `col_varchar_20` , OUTR . `pk`;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
# 03:54:00 Starting
|
||||
# 03:54:00 gentest.pl \
|
||||
# 03:54:00 --dsn1=dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test \
|
||||
# 03:54:00 --dsn2=dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 03:54:00 --dsn2=dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 03:54:00 --gendata=conf/ob_subquery_semijoin_nested.mysql.zz \
|
||||
# 03:54:00 --grammar=conf/ob_subquery_semijoin_nested.mysql.yy \
|
||||
# 03:54:00 --threads=1 \
|
||||
@ -17,7 +17,7 @@
|
||||
# 03:54:00 --myprint
|
||||
# 03:54:00 -------------------------------
|
||||
# 03:54:00 Configuration
|
||||
# 03:54:00 dsn => ['dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 03:54:00 dsn => ['dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 03:54:00 duration => 3600
|
||||
# 03:54:00 gendata => conf/ob_subquery_semijoin_nested.mysql.zz
|
||||
# 03:54:00 grammar => conf/ob_subquery_semijoin_nested.mysql.yy
|
||||
@ -1968,7 +1968,7 @@ COMMIT;
|
||||
# 03:54:07 Default schema: test
|
||||
# 03:54:07 Caching metadata for dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test
|
||||
# 03:54:07 Default schema: test
|
||||
# 03:54:07 Caching metadata for dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 03:54:07 Caching metadata for dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 03:54:07 Started periodic reporting process...
|
||||
#SELECT DISTINCT GRANDPARENT1 . col_date AS G1 FROM A AS GRANDPARENT1 LEFT JOIN P AS GRANDPARENT2 USING ( col_date ) WHERE ( GRANDPARENT1 . `col_varchar_10` , GRANDPARENT1 . `col_varchar_20_key` ) IN ( #SELECT DISTINCT PARENT1 . `col_varchar_20` AS P1 , PARENT1 . `col_varchar_20` AS P2 FROM G AS PARENT1 LEFT JOIN H AS PARENT2 ON ( PARENT1 . `col_int` >= PARENT2 . `col_int_key` ) ) AND GRANDPARENT1 . col_date IS NULL ORDER BY GRANDPARENT1 . col_date LIMIT 9;
|
||||
#SELECT GRANDPARENT1 . col_date AS G1 FROM AA AS GRANDPARENT1 WHERE ( GRANDPARENT1 . `col_varchar_10_key` , GRANDPARENT1 . `col_varchar_10` ) IN ( #SELECT PARENT1 . `col_varchar_20_key` AS P1 , PARENT1 . `col_varchar_20_key` AS P2 FROM G AS PARENT1 ) AND ( ( ( ( GRANDPARENT1 . `col_datetime_key` BETWEEN '2005-02-25' AND '2005-02-04' OR NOT GRANDPARENT1 . `col_int_key` = 4 ) OR NOT GRANDPARENT1 . `col_varchar_10` <= 'w' ) OR GRANDPARENT1 . `col_varchar_10_key` <= 'u' ) AND GRANDPARENT1 . `col_datetime` BETWEEN '2007-03-27' AND '2003-06-17' ) ORDER BY GRANDPARENT1 . col_date ;
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
--disable_warnings
|
||||
# 15:11:56 Starting
|
||||
# 15:11:56 gentest.pl \
|
||||
# 15:11:56 --dsn1=dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test \
|
||||
# 15:11:56 --dsn2=dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 15:11:56 --dsn1=dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test \
|
||||
# 15:11:56 --dsn2=dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10 \
|
||||
# 15:11:56 --gendata=conf/ob_subquery_semijoin_nested.mysql.zz \
|
||||
# 15:11:56 --grammar=conf/ob_subquery_semijoin_nested.mysql.yy \
|
||||
# 15:11:56 --threads=1 \
|
||||
@ -15,7 +15,7 @@
|
||||
# 15:11:56 --myprint
|
||||
# 15:11:56 -------------------------------
|
||||
# 15:11:56 Configuration
|
||||
# 15:11:56 dsn => ['dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 15:11:56 dsn => ['dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test', 'dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10']
|
||||
# 15:11:56 duration => 3600
|
||||
# 15:11:56 gendata => conf/ob_subquery_semijoin_nested.mysql.zz
|
||||
# 15:11:56 grammar => conf/ob_subquery_semijoin_nested.mysql.yy
|
||||
@ -145,9 +145,9 @@ iNSERT INTO KK VALUES ('2001-05-23 15:49:48', 1, 'ssotnefics', 'cssotnefi', NUL
|
||||
# 15:12:02 Starting 1 processes, 8000 queries each, duration 3600 seconds.
|
||||
# 15:12:02 GenTest::ErrorFilter(114401) started
|
||||
# 15:12:02 Default schema: test
|
||||
# 15:12:02 Caching metadata for dbi:mysql:host=127.0.0.2:port=44503:user=admin:password=admin:database=test
|
||||
# 15:12:02 Caching metadata for dbi:mysql:host=10.244.4.66:port=44503:user=admin:password=admin:database=test
|
||||
# 15:12:02 Default schema: test
|
||||
# 15:12:02 Caching metadata for dbi:mysql:host=127.0.0.1:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 15:12:02 Caching metadata for dbi:mysql:host=10.244.4.65:port=3308:user=root:password=:database=test_obrqg_10
|
||||
# 15:12:02 Started periodic reporting process...
|
||||
#SELECT DISTINCT GRANDPARENT1 . pk AS G1 FROM C AS GRANDPARENT1 WHERE GRANDPARENT1 . `col_varchar_20` IN ( #SELECT DISTINCT PARENT1 . `col_varchar_10_key` AS P1 FROM W AS PARENT1 LEFT JOIN GG AS PARENT2 ON ( PARENT1 . `pk` = PARENT2 . `pk` ) WHERE GRANDPARENT1 . `pk` IN ( #SELECT DISTINCT CHILD1 . `col_int_key` AS C1 FROM CC AS CHILD1 LEFT JOIN M AS CHILD2 ON ( CHILD1 . `col_varchar_20_key` > CHILD2 . `col_varchar_10_key` ) WHERE ( ( CHILD1 . pk IS NOT NULL ) OR NOT ( GRANDPARENT1 . `col_int` <> 6 ) ) ORDER BY CHILD1 . pk ) AND ( GRANDPARENT1 . pk IS UNKNOWN ) ORDER BY PARENT1 . pk ) AND GRANDPARENT1 . pk IS NOT NULL GROUP BY GRANDPARENT1 . pk HAVING G1 <= NULL ORDER BY GRANDPARENT1 . pk LIMIT 9;
|
||||
#SELECT GRANDPARENT1 . col_date_key AS G1 FROM D AS GRANDPARENT1 WHERE GRANDPARENT1 . `col_varchar_10` IN ( #SELECT PARENT1 . `col_varchar_20` AS P1 FROM KK AS PARENT1 ) AND ( GRANDPARENT1 . `col_varchar_10_key` > 'v' OR NOT GRANDPARENT1 . col_date_key IS NULL ) ;
|
||||
|
||||
Reference in New Issue
Block a user