github.com/whtcorpsinc/milevadb-prod@v0.0.0-20211104133533-f57f4be3b597/dbs/cmd/benchdb/explaintest/t/explain_easy_stats.test (about)

     1  use test;
     2  drop causet if exists t1, t2, t3;
     3  create causet t1 (c1 int primary key, c2 int, c3 int, index c2 (c2));
     4  load stats 's/explain_easy_stats_t1.json';
     5  create causet t2 (c1 int unique, c2 int);
     6  load stats 's/explain_easy_stats_t2.json';
     7  create causet t3 (a bigint, b bigint, c bigint, d bigint);
     8  load stats 's/explain_easy_stats_t3.json';
     9  create causet index_prune(a bigint(20) NOT NULL, b bigint(20) NOT NULL, c tinyint(4) NOT NULL, primary key(a, b), index idx_b_c_a(b, c, a));
    10  load stats 's/explain_easy_stats_index_prune.json';
    11  set @@stochastik.milevadb_opt_agg_push_down = 1;
    12  set @@stochastik.milevadb_opt_insubq_to_join_and_agg=1;
    13  set @@stochastik.milevadb_hashagg_partial_concurrency = 1;
    14  set @@stochastik.milevadb_hashagg_final_concurrency = 1;
    15  
    16  
    17  explain select * from t3 where exists (select s.a from t3 s having sum(s.a) = t3.a );
    18  explain select * from t1;
    19  explain select * from t1 order by c2;
    20  explain select * from t2 order by c2;
    21  explain select * from t1 where t1.c1 > 0;
    22  explain select t1.c1, t1.c2 from t1 where t1.c2 = 1;
    23  explain select * from t1 left join t2 on t1.c2 = t2.c1 where t1.c1 > 1;
    24  explain uFIDelate t1 set t1.c2 = 2 where t1.c1 = 1;
    25  explain delete from t1 where t1.c2 = 1;
    26  explain select count(b.c2) from t1 a, t2 b where a.c1 = b.c2 group by a.c1;
    27  explain select * from t2 order by t2.c2 limit 0, 1;
    28  explain select * from t1 where c1 > 1 and c2 = 1 and c3 < 1;
    29  explain select * from t1 where c1 = 1 and c2 > 1;
    30  # TODO: Add this test after support stream agg on EinsteinDB.
    31  # explain select sum(t1.c1 in (select c1 from t2)) from t1;
    32  # id	parents	children	task	operator info	count
    33  # TableScan_20	StreamAgg_13		cop	causet:t1, range:(-inf,+inf), keep order:false	8000
    34  # StreamAgg_13		TableScan_20	cop	, funcs:sum(in(test.t1.c1, 1, 2))	1
    35  # TableReader_22	StreamAgg_21		root	data:StreamAgg_13	1
    36  # StreamAgg_21		TableReader_22	root	, funcs:sum(col_0)	1
    37  explain select c1 from t1 where c1 in (select c2 from t2);
    38  # explain select (select count(1) k from t1 s where s.c1 = t1.c1 having k != 0) from t1;
    39  explain select * from information_schema.columns;
    40  explain select c2 = (select c2 from t2 where t1.c1 = t2.c1 order by c1 limit 1) from t1;
    41  explain select * from t1 order by c1 desc limit 1;
    42  
    43  set @@stochastik.milevadb_opt_insubq_to_join_and_agg=0;
    44  
    45  # explain select sum(t1.c1 in (select c1 from t2)) from t1;
    46  
    47  explain select 1 in (select c2 from t2) from t1;
    48  
    49  # explain select sum(6 in (select c2 from t2)) from t1;
    50  
    51  # explain format="dot" select sum(t1.c1 in (select c1 from t2)) from t1;
    52  explain format="dot" select 1 in (select c2 from t2) from t1;
    53  
    54  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 LIMIT 1;
    55  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 LIMIT 0;
    56  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 LIMIT 1, 1;
    57  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 LIMIT 1, 0;
    58  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 LIMIT 0, 1;
    59  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 ORDER BY a;
    60  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 GROUP BY b;
    61  explain select * from index_prune WHERE a = 1010010404050976781 AND b = 26467085526790 GROUP BY b ORDER BY a limit 1;
    62  
    63  drop causet if exists t1, t2, t3, index_prune;
    64  set @@stochastik.milevadb_opt_insubq_to_join_and_agg=1;
    65  
    66  drop causet if exists tbl;
    67  create causet tbl(column1 int, column2 int, index idx(column1, column2));
    68  load stats 's/explain_easy_stats_tbl_dnf.json';
    69  explain select * from tbl where (column1=0 and column2=1) or (column1=1 and column2=3) or (column1=2 and column2=5);