1drop table if exists t;
2create table t (id int not null, x int not null, y int not null, primary key(id), key(x)) engine=tokudb;
3insert into t values (0,0,0),(1,1,1),(2,2,2),(3,2,3),(4,2,4);
4explain select x,id from t force index (x) where x=0 and id=0;
5id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
61	SIMPLE	t	const	x	x	8	const,const	1	Using index
7flush status;
8select x,id from t force index (x) where x=0 and id=0;
9x	id
100	0
11show status like 'handler_read%';
12Variable_name	Value
13Handler_read_first	0
14Handler_read_key	1
15Handler_read_last	0
16Handler_read_next	0
17Handler_read_prev	0
18Handler_read_retry	0
19Handler_read_rnd	0
20Handler_read_rnd_deleted	0
21Handler_read_rnd_next	0
22explain select y,id from t force index (x) where x=0 and id=0;
23id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
241	SIMPLE	t	const	x	x	8	const,const	1
25flush status;
26select y,id from t force index (x) where x=0 and id=0;
27y	id
280	0
29show status like 'handler_read%';
30Variable_name	Value
31Handler_read_first	0
32Handler_read_key	1
33Handler_read_last	0
34Handler_read_next	0
35Handler_read_prev	0
36Handler_read_retry	0
37Handler_read_rnd	0
38Handler_read_rnd_deleted	0
39Handler_read_rnd_next	0
40explain select x,id from t force index (x) where x=0 and id=1;
41id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
421	SIMPLE	t	const	x	x	8	const,const	1	Using index
43flush status;
44select x,id from t force index (x) where x=0 and id=1;
45x	id
46show status like 'handler_read%';
47Variable_name	Value
48Handler_read_first	0
49Handler_read_key	1
50Handler_read_last	0
51Handler_read_next	0
52Handler_read_prev	0
53Handler_read_retry	0
54Handler_read_rnd	0
55Handler_read_rnd_deleted	0
56Handler_read_rnd_next	0
57explain select y,id from t force index (x)where x=0 and id=1;
58id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
591	SIMPLE	t	const	x	x	8	const,const	1
60flush status;
61select y,id from t force index(x) where x=0 and id=1;
62y	id
63show status like 'handler_read%';
64Variable_name	Value
65Handler_read_first	0
66Handler_read_key	1
67Handler_read_last	0
68Handler_read_next	0
69Handler_read_prev	0
70Handler_read_retry	0
71Handler_read_rnd	0
72Handler_read_rnd_deleted	0
73Handler_read_rnd_next	0
74explain select x,id from t force index (x) where x=2 and id=3;
75id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
761	SIMPLE	t	const	x	x	8	const,const	1	Using index
77flush status;
78select x,id from t force index (x) where x=2 and id=3;
79x	id
802	3
81show status like 'handler_read%';
82Variable_name	Value
83Handler_read_first	0
84Handler_read_key	1
85Handler_read_last	0
86Handler_read_next	0
87Handler_read_prev	0
88Handler_read_retry	0
89Handler_read_rnd	0
90Handler_read_rnd_deleted	0
91Handler_read_rnd_next	0
92explain select x,id from t force index (x) where x=2 and id=0;
93id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
941	SIMPLE	t	const	x	x	8	const,const	1	Using index
95flush status;
96select x,id from t force index (x) where x=2 and id=0;
97x	id
98show status like 'handler_read%';
99Variable_name	Value
100Handler_read_first	0
101Handler_read_key	1
102Handler_read_last	0
103Handler_read_next	0
104Handler_read_prev	0
105Handler_read_retry	0
106Handler_read_rnd	0
107Handler_read_rnd_deleted	0
108Handler_read_rnd_next	0
109drop table t;
110