mariadb/mysql-test/suite/tokudb/r/cluster_key_part.result
Sergei Golubchik ae6cc54a4a 5.6.28-76.1
2016-02-16 19:44:10 +01:00

660 lines
19 KiB
Text

set default_storage_engine='tokudb';
DROP TABLE IF EXISTS t;
CREATE TABLE t (a INT NOT NULL AUTO_INCREMENT, b INT, PRIMARY KEY(a), CLUSTERING KEY b(b)) ENGINE=TokuDB
PARTITION BY RANGE(a) (PARTITION p0 VALUES LESS THAN (100) ENGINE = TokuDB, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TokuDB);
SHOW CREATE TABLE t;
Table Create Table
t CREATE TABLE `t` (
`a` int(11) NOT NULL AUTO_INCREMENT,
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`),
CLUSTERING KEY `b` (`b`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (100) ENGINE = TokuDB,
PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = TokuDB) */
DROP TABLE t;
CREATE TABLE t (x INT NOT NULL, y INT NOT NULL, PRIMARY KEY(x))
PARTITION BY HASH(x) PARTITIONS 2;
SHOW CREATE TABLE t;
Table Create Table
t CREATE TABLE `t` (
`x` int(11) NOT NULL,
`y` int(11) NOT NULL,
PRIMARY KEY (`x`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (x)
PARTITIONS 2 */
ALTER TABLE t ADD CLUSTERING KEY(y);
SHOW CREATE TABLE t;
Table Create Table
t CREATE TABLE `t` (
`x` int(11) NOT NULL,
`y` int(11) NOT NULL,
PRIMARY KEY (`x`),
CLUSTERING KEY `y` (`y`)
) ENGINE=TokuDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (x)
PARTITIONS 2 */
DROP TABLE t;
CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
PARTITION BY RANGE(a) (PARTITION p0 VALUES LESS THAN (5) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE 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 4 NULL NULL; Using where
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 4 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 4 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 index c b 4 NULL NULL; Using where; Using index
select a,c from t1 where c > 750;
a c
8 800
9 900
alter table t1 add clustering index bdca(b,d,c,a);
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 4 NULL NULL; Using where
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 4 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 4 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 4 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,b,c);
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 4 NULL NULL; Using where
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 4 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 4 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 4 NULL NULL; Using where; Using index
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 4 NULL NULL; Using where
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 4 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 4 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 4 NULL NULL; Using where
select c from t1 where c > 750;
c
800
900
DROP TABLE t1;
CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
PARTITION BY RANGE(b) (PARTITION p0 VALUES LESS THAN (50) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE 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 4 NULL NULL; Using where
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 4 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 4 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 index c b 4 NULL NULL; Using where; Using index
select a,c from t1 where c > 750;
a c
8 800
9 900
alter table t1 add clustering index bdca(b,d,c,a);
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
10 10 10 10
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 4 NULL NULL; Using where
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 4 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 4 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 4 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,b,c);
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
10 10 10 10 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 b > 30;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range b b 4 NULL NULL; Using where
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 4 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
10
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 4 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 index c b 4 NULL NULL; Using where; Using index
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
10 10 10 10 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 b > 30;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range b b 4 NULL NULL; Using where
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 4 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 4 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 4 NULL NULL; Using where
select c from t1 where c > 750;
c
800
900
DROP TABLE t1;
CREATE TABLE t1(a INT, b INT, c INT, d INT, PRIMARY KEY(a,b,c), CLUSTERING KEY(b), KEY (c)) ENGINE=TOKUDB
PARTITION BY RANGE(c) (PARTITION p0 VALUES LESS THAN (500) ENGINE = TOKUDB, PARTITION p2 VALUES LESS THAN MAXVALUE 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 4 NULL NULL; Using where
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 4 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 4 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 index c b 4 NULL NULL; Using where; Using index
select a,c from t1 where c > 750;
a c
8 800
9 900
alter table t1 add clustering index bdca(b,d,c,a);
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
10 10 10 10
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 4 NULL NULL; Using where
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 4 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 4 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 4 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,b,c);
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
10 10 10 10 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 b > 30;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range b b 4 NULL NULL; Using where
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 4 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
10
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 4 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 index c b 4 NULL NULL; Using where; Using index
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
10 10 10 10 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 b > 30;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range b b 4 NULL NULL; Using where
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 4 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 4 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 4 NULL NULL; Using where
select c from t1 where c > 750;
c
800
900
DROP TABLE t1;