SET DEFAULT_STORAGE_ENGINE='tokudb'; DROP TABLE IF EXISTS t1; create table t1(a int, b int, c int, d int, primary key(a), key(b) clustering=yes, key (c))engine=tokudb; insert into t1 values (1,10,100,1000),(2,20,200,2000),(3,30,300,3000),(4,40,400,4000),(5,50,500,5000),(6,60,600,6000),(7,70,700,7000),(8,80,800,8000),(9,90,900,9000); explain select * from t1 where a > 5; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL NULL; Using where select * from t1 where a > 5; a b c d 6 60 600 6000 7 70 700 7000 8 80 800 8000 9 90 900 9000 explain select * from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select * from t1 where b > 30; a b c d 4 40 400 4000 5 50 500 5000 6 60 600 6000 7 70 700 7000 8 80 800 8000 9 90 900 9000 explain select * from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select * from t1 where c > 750; a b c d 8 80 800 8000 9 90 900 9000 explain select a from t1 where a > 8; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL NULL; Using where; Using index select a from t1 where a > 8; a 9 explain select a,b from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select a,b from t1 where b > 30; a b 4 40 5 50 6 60 7 70 8 80 9 90 explain select a,b from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select a,c from t1 where c > 750; a c 8 800 9 900 alter table t1 add index bdca(b,d,c,a) clustering=yes; insert into t1 values (10,10,10,10); alter table t1 drop index bdca; alter table t1 drop primary key; explain select * from t1 where a > 5; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL NULL; Using where select * from t1 where a > 5; a b c d 6 60 600 6000 7 70 700 7000 8 80 800 8000 9 90 900 9000 10 10 10 10 explain select * from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select * from t1 where b > 30; a b c d 4 40 400 4000 5 50 500 5000 6 60 600 6000 7 70 700 7000 8 80 800 8000 9 90 900 9000 explain select * from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select * from t1 where c > 750; a b c d 8 80 800 8000 9 90 900 9000 explain select b from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select b from t1 where b > 30; b 40 50 60 70 80 90 explain select b from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select c from t1 where c > 750; c 800 900 alter table t1 add e varchar(20); alter table t1 add primary key (a); explain select * from t1 where a > 5; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL NULL; Using where select * from t1 where a > 5; a b c d e 6 60 600 6000 NULL 7 70 700 7000 NULL 8 80 800 8000 NULL 9 90 900 9000 NULL 10 10 10 10 NULL explain select * from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select * from t1 where b > 30; a b c d e 4 40 400 4000 NULL 5 50 500 5000 NULL 6 60 600 6000 NULL 7 70 700 7000 NULL 8 80 800 8000 NULL 9 90 900 9000 NULL explain select * from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select * from t1 where c > 750; a b c d e 8 80 800 8000 NULL 9 90 900 9000 NULL explain select a from t1 where a > 8; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL NULL; Using where; Using index select a from t1 where a > 8; a 9 10 explain select a,b from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select a,b from t1 where b > 30; a b 4 40 5 50 6 60 7 70 8 80 9 90 explain select a,b from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select a,c from t1 where c > 750; a c 8 800 9 900 alter table t1 drop primary key; explain select * from t1 where a > 5; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL NULL; Using where select * from t1 where a > 5; a b c d e 6 60 600 6000 NULL 7 70 700 7000 NULL 8 80 800 8000 NULL 9 90 900 9000 NULL 10 10 10 10 NULL explain select * from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select * from t1 where b > 30; a b c d e 4 40 400 4000 NULL 5 50 500 5000 NULL 6 60 600 6000 NULL 7 70 700 7000 NULL 8 80 800 8000 NULL 9 90 900 9000 NULL explain select * from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select * from t1 where c > 750; a b c d e 8 80 800 8000 NULL 9 90 900 9000 NULL explain select b from t1 where b > 30; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range b b 5 NULL NULL; Using where; Using index select b from t1 where b > 30; b 40 50 60 70 80 90 explain select b from t1 where c > 750; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range c c 5 NULL NULL; Using where select c from t1 where c > 750; c 800 900 drop table t1;