[FEAT MERGE]4_1_sql_feature

Co-authored-by: leslieyuchen <leslieyuchen@gmail.com>
Co-authored-by: Charles0429 <xiezhenjiang@gmail.com>
Co-authored-by: raywill <hustos@gmail.com>
This commit is contained in:
obdev
2023-01-28 16:01:26 +08:00
committed by ob-robot
parent 3080f2b66f
commit 2d19a9d8f5
846 changed files with 161957 additions and 116661 deletions

View File

@ -21,361 +21,385 @@ index k4(c1,c2,c3,c4),
index k5(c1,c2,c3,c4,c5));
explain select count(*) from t1;
Query Plan
==========================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t1(k1)|1 |2 |
==========================================
Outputs & filters:
=================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
-------------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t1(k1)|1 |2 |
=================================================
Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256,
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*))])
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256,
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256
access(nil), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t1.c1], [t1.__pk_increment]), range(MIN,MIN ; MAX,MAX)always true
explain select * from t1 where c1 = 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.__pk_increment]), range(1,MIN ; 1,MAX),
range_cond([t1.c1 = 1])
explain select * from t1 where c1 < 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.__pk_increment]), range(NULL,MAX ; 1,MIN),
range_cond([t1.c1 < 1])
explain select * from t1 where c1 > 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.__pk_increment]), range(1,MAX ; MAX,MAX),
range_cond([t1.c1 > 1])
explain select * from t1 where c1 > 1 and c1 < 10;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k1)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.__pk_increment]), range(1,MAX ; 10,MIN),
range_cond([t1.c1 > 1], [t1.c1 < 10])
explain select * from t1 where c1 = 1 and c2 < 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k2)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k2)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.c2], [t1.__pk_increment]), range(1,NULL,MAX ; 1,1,MIN),
range_cond([t1.c1 = 1], [t1.c2 < 1])
explain select * from t1 where c1 = 1 and c2 = 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k2)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k2)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.c2], [t1.__pk_increment]), range(1,1,MIN ; 1,1,MAX),
range_cond([t1.c1 = 1], [t1.c2 = 1])
explain select * from t1 where c1 = 1 and c2 = 1 and c3 < 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k3)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k3)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.c2], [t1.c3], [t1.__pk_increment]), range(1,1,NULL,MAX ; 1,1,1,MIN),
range_cond([t1.c1 = 1], [t1.c2 = 1], [t1.c3 < 1])
explain select * from t1 where c1 = 1 and c2 = 1 and c3 = 1;
Query Plan
=====================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
============================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
--------------------------------------------
|0 |TABLE SCAN|t1(k3)|1 |5 |
============================================
Outputs & filters:
-------------------------------------
|0 |TABLE SCAN|t1(k3)|1 |5 |
=====================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256,
0 - output([t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), filter(nil), rowset=256
access([t1.__pk_increment], [t1.c1], [t1.c2], [t1.c3], [t1.c4], [t1.c5], [t1.c6], [t1.c7], [t1.c8], [t1.c9], [t1.c10]), partitions(p0)
is_index_back=true, is_global_index=false,
range_key([t1.c1], [t1.c2], [t1.c3], [t1.__pk_increment]), range(1,1,1,MIN ; 1,1,1,MAX),
range_cond([t1.c1 = 1], [t1.c2 = 1], [t1.c3 = 1])
explain select count(*) from t2;
Query Plan
==========================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t2(k1)|1 |2 |
==========================================
Outputs & filters:
=================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
-------------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t2(k1)|1 |2 |
=================================================
Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256,
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*))])
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256,
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256
access(nil), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.c1], [t2.c6], [t2.c7]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
explain select * from t2 where c1 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t2.c1 = 1])
explain select * from t2 where c1 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.c1], [t2.c6], [t2.c7]), range(NULL,MAX,MAX ; 1,MIN,MIN),
range_cond([t2.c1 < 1])
explain select * from t2 where c1 > 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MAX,MAX ; MAX,MAX,MAX),
range_cond([t2.c1 > 1])
explain select * from t2 where c1 > 1 and c1 < 10;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter(nil), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MAX,MAX ; 10,MIN,MIN),
range_cond([t2.c1 > 1], [t2.c1 < 10])
explain select * from t2 where c1 = 1 and c2 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 < 1]), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 < 1]), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false],
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t2.c1 = 1])
explain select * from t2 where c1 = 1 and c2 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 = 1]), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 = 1]), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false],
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t2.c1 = 1])
explain select * from t2 where c1 = 1 and c2 = 1 and c3 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c3 < 1], [t2.c2 = 1]), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c3 < 1], [t2.c2 = 1]), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false,false],
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t2.c1 = 1])
explain select * from t2 where c1 = 1 and c2 = 1 and c3 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t2 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 = 1], [t2.c3 = 1]), rowset=256,
0 - output([t2.c1], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c6], [t2.c7], [t2.c8], [t2.c9], [t2.c10]), filter([t2.c2 = 1], [t2.c3 = 1]), rowset=256
access([t2.c1], [t2.c6], [t2.c7], [t2.c2], [t2.c3], [t2.c4], [t2.c5], [t2.c8], [t2.c9], [t2.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false,false],
range_key([t2.c1], [t2.c6], [t2.c7]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t2.c1 = 1])
explain select count(*) from t3;
Query Plan
==========================================
|ID|OPERATOR |NAME |EST. ROWS|COST|
------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t3(k1)|1 |2 |
==========================================
Outputs & filters:
=================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
-------------------------------------------------
|0 |SCALAR GROUP BY| |1 |2 |
|1 | TABLE SCAN |t3(k1)|1 |2 |
=================================================
Outputs & filters:
-------------------------------------
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256,
0 - output([T_FUN_COUNT_SUM(T_FUN_COUNT(*))]), filter(nil), rowset=256
group(nil), agg_func([T_FUN_COUNT_SUM(T_FUN_COUNT(*))])
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256,
1 - output([T_FUN_COUNT(*)]), filter(nil), rowset=256
access(nil), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
explain select * from t3 where c1 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,MIN,MIN ; 1,MAX,MAX),
range_cond([t3.c1 = 1])
explain select * from t3 where c1 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(NULL,MAX,MAX ; 1,MIN,MIN),
range_cond([t3.c1 < 1])
explain select * from t3 where c1 > 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,MAX,MAX ; MAX,MAX,MAX),
range_cond([t3.c1 > 1])
explain select * from t3 where c1 > 1 and c1 < 10;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,MAX,MAX ; 10,MIN,MIN),
range_cond([t3.c1 > 1], [t3.c1 < 10])
explain select * from t3 where c1 = 1 and c2 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,NULL,MAX ; 1,1,MIN),
range_cond([t3.c1 = 1], [t3.c2 < 1])
explain select * from t3 where c1 = 1 and c2 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter(nil), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,1,MIN ; 1,1,MAX),
range_cond([t3.c1 = 1], [t3.c2 = 1])
explain select * from t3 where c1 = 1 and c2 = 1 and c3 < 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter([t3.c3 < 1]), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter([t3.c3 < 1]), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false],
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,1,MIN ; 1,1,MAX),
range_cond([t3.c1 = 1], [t3.c2 = 1])
explain select * from t3 where c1 = 1 and c2 = 1 and c3 = 1;
Query Plan
===================================
|ID|OPERATOR |NAME|EST. ROWS|COST|
-----------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
===================================
Outputs & filters:
==========================================
|ID|OPERATOR |NAME|EST.ROWS|EST.TIME(us)|
------------------------------------------
|0 |TABLE SCAN|t3 |1 |2 |
==========================================
Outputs & filters:
-------------------------------------
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter([t3.c3 = 1]), rowset=256,
0 - output([t3.c1], [t3.c2], [t3.c3], [t3.c4], [t3.c5], [t3.c6], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), filter([t3.c3 = 1]), rowset=256
access([t3.c1], [t3.c2], [t3.c6], [t3.c3], [t3.c4], [t3.c5], [t3.c7], [t3.c8], [t3.c9], [t3.c10]), partitions(p0)
is_index_back=false, is_global_index=false, filter_before_indexback[false],
range_key([t3.c1], [t3.c2], [t3.c6]), range(1,1,MIN ; 1,1,MAX),
range_cond([t3.c1 = 1], [t3.c2 = 1])