SET DEFAULT_STORAGE_ENGINE = 'tokudb'; # Establish connection conn1 (user = root) connect conn1,localhost,root,,; DROP TABLE IF EXISTS foo; connection default; set session transaction isolation level repeatable read; create table foo (a int, b int, c int, primary key (a), key (b))engine=TokuDB; show create table foo; Table Create Table foo CREATE TABLE `foo` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`), KEY `b` (`b`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1 insert into foo values (1,10,100),(2,20,200),(3,30,300),(4,40,400),(5,50,500),(6,60,600),(7,70,700),(8,80,800),(9,90,900); begin; select * from foo; a b c 1 10 100 2 20 200 3 30 300 4 40 400 5 50 500 6 60 600 7 70 700 8 80 800 9 90 900 # should use key b explain select * from foo where b=50; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE foo ref b b 5 const 1 # should get (5,50,500) select * from foo where b=50; a b c 5 50 500 replace into foo values (5,50,1515); connection conn1; set session transaction isolation level repeatable read; begin; # should use key b explain select * from foo where b=50; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE foo ref b b 5 const 1 # should get (5,50,500) select * from foo where b=50; a b c 5 50 500 connection default; commit; # should use key b explain select * from foo where b=50; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE foo ref b b 5 const 1 # should get (5,50,1515) select * from foo where b=50; a b c 5 50 1515 connection conn1; # should use key b explain select * from foo where b=50; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE foo ref b b 5 const 1 # should get (5,50,500) select * from foo where b=50; a b c 5 50 500 commit; # should use key b explain select * from foo where b=50; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE foo ref b b 5 const 1 # should get (5,50,1515) select * from foo where b=50; a b c 5 50 1515 connection default; disconnect conn1; connection default; set session transaction isolation level serializable; DROP TABLE foo;