summaryrefslogtreecommitdiff
path: root/mysql-test/main/innodb_ext_key,off.rdiff
blob: b334d00673784014b260b85be0cbbde53b2d27ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
--- innodb_ext_key.result
+++ innodb_ext_key,off.result
@@ -9,7 +9,7 @@
 explain
 select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	8	const,const	1	Using index
+1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	4	const	6	Using where; Using index
 flush status;
 select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
 count(*)
@@ -19,7 +19,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	1
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -50,7 +50,7 @@
 select count(*) from lineitem
 where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	range	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	8	NULL	1	Using where; Using index
+1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	4	const	6	Using where; Using index
 flush status;
 select count(*) from lineitem
 where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
@@ -61,7 +61,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	1
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -71,7 +71,7 @@
 select l_orderkey, l_linenumber from lineitem
 where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	range	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	8	NULL	3	Using where; Using index
+1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	4	const	6	Using where; Using index
 flush status;
 select l_orderkey, l_linenumber from lineitem
 where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
@@ -84,7 +84,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	3
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -93,7 +93,7 @@
 explain
 select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
+1	SIMPLE	lineitem	ref	i_l_shipdate	i_l_shipdate	4	const	6	Using index
 flush status;
 select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
 min(l_orderkey)
@@ -103,7 +103,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	0
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -113,7 +113,7 @@
 select min(l_orderkey) from lineitem 
 where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
+1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	4	const	6	Using where; Using index
 flush status;
 select min(l_orderkey) from lineitem 
 where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
@@ -124,7 +124,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	0
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -134,7 +134,7 @@
 select max(l_linenumber) from lineitem 
 where l_shipdate='1992-07-01' and l_orderkey=130;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Select tables optimized away
+1	SIMPLE	lineitem	ref	PRIMARY,i_l_shipdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate	4	const	6	Using where; Using index
 flush status;
 select max(l_linenumber) from lineitem 
 where l_shipdate='1992-07-01' and l_orderkey=130;
@@ -145,7 +145,7 @@
 Handler_read_first	0
 Handler_read_key	1
 Handler_read_last	0
-Handler_read_next	0
+Handler_read_next	6
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -157,7 +157,7 @@
 where l_shipdate='1992-07-01' and l_orderkey=130 
 or l_receiptdate='1992-07-01' and l_orderkey=5603;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	index_merge	i_l_shipdate,i_l_receiptdate	i_l_shipdate,i_l_receiptdate	8,8	NULL	2	Using union(i_l_shipdate,i_l_receiptdate); Using where
+1	SIMPLE	lineitem	index_merge	i_l_shipdate,i_l_receiptdate	i_l_shipdate,i_l_receiptdate	4,4	NULL	9	Using union(i_l_shipdate,i_l_receiptdate); Using where
 flush status;
 select l_orderkey, l_linenumber 
 from lineitem use index (i_l_shipdate, i_l_receiptdate)
@@ -171,10 +171,10 @@
 Handler_read_first	0
 Handler_read_key	2
 Handler_read_last	0
-Handler_read_next	2
+Handler_read_next	9
 Handler_read_prev	0
 Handler_read_retry	0
-Handler_read_rnd	2
+Handler_read_rnd	9
 Handler_read_rnd_deleted	0
 Handler_read_rnd_next	0
 explain
@@ -183,7 +183,7 @@
 where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
 or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	index_merge	i_l_shipdate,i_l_receiptdate	i_l_shipdate,i_l_receiptdate	#	NULL	3	Using sort_union(i_l_shipdate,i_l_receiptdate); Using where
+1	SIMPLE	lineitem	index_merge	i_l_shipdate,i_l_receiptdate	i_l_shipdate,i_l_receiptdate	#	NULL	9	Using union(i_l_shipdate,i_l_receiptdate); Using where
 flush status;
 select l_orderkey, l_linenumber
 from lineitem use index (i_l_shipdate, i_l_receiptdate)
@@ -198,10 +198,10 @@
 Handler_read_first	0
 Handler_read_key	2
 Handler_read_last	0
-Handler_read_next	3
+Handler_read_next	9
 Handler_read_prev	0
 Handler_read_retry	0
-Handler_read_rnd	3
+Handler_read_rnd	9
 Handler_read_rnd_deleted	0
 Handler_read_rnd_next	0
 explain
@@ -209,7 +209,7 @@
 where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
 or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	index_merge	PRIMARY,i_l_shipdate,i_l_receiptdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate,i_l_receiptdate	#	NULL	#	Using
+1	SIMPLE	lineitem	index_merge	PRIMARY,i_l_shipdate,i_l_receiptdate,i_l_orderkey,i_l_orderkey_quantity	i_l_shipdate,PRIMARY,i_l_receiptdate,PRIMARY	#	NULL	#	Using
 flush status;
 select l_orderkey, l_linenumber from lineitem 
 where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
@@ -220,12 +220,12 @@
 5959	3
 show status like 'handler_read_next';
 Variable_name	Value
-Handler_read_next	3
+Handler_read_next	9
 explain 
 select max(l_orderkey) from lineitem
 where l_partkey between 1 and 10 group by l_partkey;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	range	i_l_suppkey_partkey,i_l_partkey	i_l_partkey	5	NULL	#	Using where; Using index for group-by
+1	SIMPLE	lineitem	range	i_l_suppkey_partkey,i_l_partkey	i_l_partkey	5	NULL	#	Using where; Using index
 flush status;
 select max(l_orderkey) from lineitem
 where l_partkey between 1 and 10 group by l_partkey;
@@ -243,9 +243,9 @@
 show status like 'handler_read%';
 Variable_name	Value
 Handler_read_first	0
-Handler_read_key	21
-Handler_read_last	1
-Handler_read_next	0
+Handler_read_key	1
+Handler_read_last	0
+Handler_read_next	294
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -255,7 +255,7 @@
 select max(l_orderkey) from lineitem
 where l_suppkey in (1,4) group by l_suppkey;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	lineitem	range	i_l_suppkey	i_l_suppkey	5	NULL	#	Using where; Using index for group-by
+1	SIMPLE	lineitem	range	i_l_suppkey	i_l_suppkey	5	NULL	#	Using where; Using index
 flush status;
 select max(l_orderkey) from lineitem
 where l_suppkey in (1,4) group by l_suppkey;
@@ -265,9 +265,9 @@
 show status like 'handler_read%';
 Variable_name	Value
 Handler_read_first	0
-Handler_read_key	6
-Handler_read_last	1
-Handler_read_next	0
+Handler_read_key	2
+Handler_read_last	0
+Handler_read_next	1230
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -283,7 +283,7 @@
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	part	range	i_p_retailprice	i_p_retailprice	9	NULL	#	Using where; Using index
 1	SIMPLE	orders	ref	PRIMARY,i_o_orderdate	i_o_orderdate	4	const	#	Using index
-1	SIMPLE	lineitem	ref	i_l_partkey	i_l_partkey	9	dbt3_s001.part.p_partkey,dbt3_s001.orders.o_orderkey	#	Using index
+1	SIMPLE	lineitem	ref	i_l_partkey	i_l_partkey	5	dbt3_s001.part.p_partkey	#	Using where; Using index
 flush status;
 select o_orderkey, p_partkey
 from part use index (i_p_retailprice),
@@ -297,7 +297,7 @@
 Handler_read_first	0
 Handler_read_key	3
 Handler_read_last	0
-Handler_read_next	3
+Handler_read_next	26
 Handler_read_prev	0
 Handler_read_retry	0
 Handler_read_rnd	0
@@ -314,8 +314,8 @@
 select * from t0, part ignore index (primary)
 where p_partkey=t0.a and p_size=1;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t0	ALL	NULL	NULL	NULL	NULL	5	Using where
-1	SIMPLE	part	eq_ref	i_p_size	i_p_size	9	const,dbt3_s001.t0.a	1	
+1	SIMPLE	t0	ALL	NULL	NULL	NULL	NULL	5	
+1	SIMPLE	part	ref	i_p_size	i_p_size	5	const	5	Using index condition
 select * from t0,  part ignore index (primary)
 where p_partkey=t0.a and p_size=1;
 a	p_partkey	p_name	p_mfgr	p_brand	p_type	p_size	p_container	p_retailprice	p_comment
@@ -494,7 +494,7 @@
 select * from t1, t3 where t3.col1=t1.a and  t3.col2=t1.a and t3.pk1=t1.a;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	#	Using where
-1	SIMPLE	t3	ref	PRIMARY,col1	col1	12	test.t1.a,test.t1.a,test.t1.a	#	Using index
+1	SIMPLE	t3	ref	PRIMARY,col1	col1	8	test.t1.a,test.t1.a	#	Using where; Using index
 drop table t1,t2,t3;
 #
 # Bug mdev-4340: performance regression with extended_keys=on   
@@ -714,13 +714,13 @@
 select * from t1 force index(index_date_updated) 
 where index_date_updated= 10 and index_id < 800;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	range	index_date_updated	index_date_updated	13	NULL	#	Using index condition
+1	SIMPLE	t1	ref	index_date_updated	index_date_updated	5	const	#	Using index condition
 # This used to work from the start:
 explain 
 select * from t2 force index(index_date_updated) 
 where index_date_updated= 10 and index_id < 800;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t2	range	index_date_updated	index_date_updated	13	NULL	#	Using index condition
+1	SIMPLE	t2	ref	index_date_updated	index_date_updated	5	const	#	Using index condition
 drop table t0,t1,t2;
 #
 # MDEV-11196: Error:Run-Time Check Failure #2 - Stack around the variable 'key_buff'
@@ -768,11 +768,12 @@
       {
         "table": {
           "table_name": "t1",
-          "access_type": "range",
+          "access_type": "ref",
           "possible_keys": ["f2"],
           "key": "f2",
-          "key_length": "3070",
-          "used_key_parts": ["f2", "pk1"],
+          "key_length": "3066",
+          "used_key_parts": ["f2"],
+          "ref": ["const"],
           "rows": 1,
           "filtered": 100,
           "index_condition": "t1.pk1 <= 5 and t1.pk2 <= 5 and t1.f2 = 'abc'",
@@ -805,8 +806,8 @@
           "access_type": "range",
           "possible_keys": ["k1"],
           "key": "k1",
-          "key_length": "3011",
-          "used_key_parts": ["pk1", "f2", "pk2"],
+          "key_length": "3007",
+          "used_key_parts": ["pk1", "f2"],
           "rows": 1,
           "filtered": 100,
           "index_condition": "t1.f2 <= 5 and t1.pk2 <= 5 and t1.pk1 = 'abc'",