85 lines
4.5 KiB
Plaintext
85 lines
4.5 KiB
Plaintext
set tidb_cost_model_version=1;
|
|
drop table if exists t;
|
|
create table t (id int, c1 timestamp);
|
|
show columns from t;
|
|
Field Type Null Key Default Extra
|
|
id int YES NULL
|
|
c1 timestamp YES NULL
|
|
explain t;
|
|
Field Type Null Key Default Extra
|
|
id int YES NULL
|
|
c1 timestamp YES NULL
|
|
describe t;
|
|
Field Type Null Key Default Extra
|
|
id int YES NULL
|
|
c1 timestamp YES NULL
|
|
desc t;
|
|
Field Type Null Key Default Extra
|
|
id int YES NULL
|
|
c1 timestamp YES NULL
|
|
desc t c1;
|
|
Field Type Null Key Default Extra
|
|
c1 timestamp YES NULL
|
|
desc t id;
|
|
Field Type Null Key Default Extra
|
|
id int YES NULL
|
|
drop table if exists t;
|
|
create table t(id int primary key, a int, b int);
|
|
set session tidb_hashagg_partial_concurrency = 1;
|
|
set session tidb_hashagg_final_concurrency = 1;
|
|
explain format = 'plan_tree' select group_concat(a) from t group by id;
|
|
id task access object operator info
|
|
StreamAgg root group by:Column, funcs:group_concat(Column separator ",")->Column
|
|
└─Projection root cast(explain.t.a, var_string(20))->Column, explain.t.id->Column
|
|
└─TableReader root data:TableFullScan
|
|
└─TableFullScan cop[tikv] table:t keep order:true, stats:pseudo
|
|
explain format = 'plan_tree' select group_concat(a, b) from t group by id;
|
|
id task access object operator info
|
|
StreamAgg root group by:Column, funcs:group_concat(Column, Column separator ",")->Column
|
|
└─Projection root cast(explain.t.a, var_string(20))->Column, cast(explain.t.b, var_string(20))->Column, explain.t.id->Column
|
|
└─TableReader root data:TableFullScan
|
|
└─TableFullScan cop[tikv] table:t keep order:true, stats:pseudo
|
|
explain format = TRADITIONAL select group_concat(a, b) from t group by id;
|
|
id estRows task access object operator info
|
|
StreamAgg_12 8000.00 root group by:Column#7, funcs:group_concat(Column#5, Column#6 separator ",")->Column#4
|
|
└─Projection_24 10000.00 root cast(explain.t.a, var_string(20))->Column#5, cast(explain.t.b, var_string(20))->Column#6, explain.t.id->Column#7
|
|
└─TableReader_19 10000.00 root data:TableFullScan_18
|
|
└─TableFullScan_18 10000.00 cop[tikv] table:t keep order:true, stats:pseudo
|
|
explain format = 'row' select group_concat(a, b) from t group by id;
|
|
id estRows task access object operator info
|
|
StreamAgg_12 8000.00 root group by:Column#7, funcs:group_concat(Column#5, Column#6 separator ",")->Column#4
|
|
└─Projection_24 10000.00 root cast(explain.t.a, var_string(20))->Column#5, cast(explain.t.b, var_string(20))->Column#6, explain.t.id->Column#7
|
|
└─TableReader_19 10000.00 root data:TableFullScan_18
|
|
└─TableFullScan_18 10000.00 cop[tikv] table:t keep order:true, stats:pseudo
|
|
drop table t;
|
|
drop view if exists v;
|
|
create view v as select cast(replace(substring_index(substring_index("",',',1),':',-1),'"','') as CHAR(32)) as event_id;
|
|
desc v;
|
|
Field Type Null Key Default Extra
|
|
event_id varchar(32) NO NULL
|
|
explain format = 'plan_tree' select * from mysql.user where user = 'xxx';
|
|
id task access object operator info
|
|
IndexLookUp root
|
|
├─IndexRangeScan(Build) cop[tikv] table:user, index:i_user(User) range:["xxx","xxx"], keep order:false, stats:pseudo
|
|
└─TableRowIDScan(Probe) cop[tikv] table:user keep order:false, stats:pseudo
|
|
explain format = 'plan_tree' select * from mysql.user where user = 'xxx' or user = 'yyy';
|
|
id task access object operator info
|
|
IndexLookUp root
|
|
├─IndexRangeScan(Build) cop[tikv] table:user, index:i_user(User) range:["xxx","xxx"], ["yyy","yyy"], keep order:false, stats:pseudo
|
|
└─TableRowIDScan(Probe) cop[tikv] table:user keep order:false, stats:pseudo
|
|
explain format = 'plan_tree' select * from mysql.global_priv where user = 'xxx';
|
|
id task access object operator info
|
|
IndexLookUp root
|
|
├─IndexRangeScan(Build) cop[tikv] table:global_priv, index:i_user(User) range:["xxx","xxx"], keep order:false, stats:pseudo
|
|
└─TableRowIDScan(Probe) cop[tikv] table:global_priv keep order:false, stats:pseudo
|
|
explain format = 'plan_tree' select * from mysql.global_grants where user = 'xxx' or user = 'yyy';
|
|
id task access object operator info
|
|
IndexLookUp root
|
|
├─IndexRangeScan(Build) cop[tikv] table:global_grants, index:i_user(USER) range:["xxx","xxx"], ["yyy","yyy"], keep order:false, stats:pseudo
|
|
└─TableRowIDScan(Probe) cop[tikv] table:global_grants keep order:false, stats:pseudo
|
|
explain format = 'plan_tree' select * from mysql.db where user = 'xxx';
|
|
id task access object operator info
|
|
IndexLookUp root
|
|
├─IndexRangeScan(Build) cop[tikv] table:db, index:i_user(User) range:["xxx","xxx"], keep order:false, stats:pseudo
|
|
└─TableRowIDScan(Probe) cop[tikv] table:db keep order:false, stats:pseudo
|