1 echo create table t1
(f1 char
, f2 char
, f3 char
, f4 char
);
3 echo create index hashcharf1f2f3 on t1
(f2
,f3
,f1
) hash;
5 echo explain plan
select * from t1
;
8 <ScanType
> TableScan
</ScanType
>
10 echo explain plan
select * from t1 where f1
= 'a';
13 <ScanType
> TableScan
</ScanType
>
15 <FieldName1
> f1
</FieldName1
>
16 <CompOp
> Equals
</CompOp
>
17 <OperandPtr
> VALUE
</OperandPtr
>
20 echo explain plan
select * from t1 where f1
= 'a' and f2
='a';
23 <ScanType
> TableScan
</ScanType
>
28 <FieldName1
> f1
</FieldName1
>
29 <CompOp
> Equals
</CompOp
>
30 <OperandPtr
> VALUE
</OperandPtr
>
35 <FieldName1
> f2
</FieldName1
>
36 <CompOp
> Equals
</CompOp
>
37 <OperandPtr
> VALUE
</OperandPtr
>
42 echo explain plan
select * from t1 where f1
= 'a' and f2
='a' and f3
='a';
45 <ScanType
> TableScan
</ScanType
>
53 <FieldName1
> f1
</FieldName1
>
54 <CompOp
> Equals
</CompOp
>
55 <OperandPtr
> VALUE
</OperandPtr
>
60 <FieldName1
> f2
</FieldName1
>
61 <CompOp
> Equals
</CompOp
>
62 <OperandPtr
> VALUE
</OperandPtr
>
69 <FieldName1
> f3
</FieldName1
>
70 <CompOp
> Equals
</CompOp
>
71 <OperandPtr
> VALUE
</OperandPtr
>
76 echo explain plan
select * from t1 where f1
= 'a' or f2
='a' or f3
='a';
79 <ScanType
> TableScan
</ScanType
>
87 <FieldName1
> f1
</FieldName1
>
88 <CompOp
> Equals
</CompOp
>
89 <OperandPtr
> VALUE
</OperandPtr
>
94 <FieldName1
> f2
</FieldName1
>
95 <CompOp
> Equals
</CompOp
>
96 <OperandPtr
> VALUE
</OperandPtr
>
103 <FieldName1
> f3
</FieldName1
>
104 <CompOp
> Equals
</CompOp
>
105 <OperandPtr
> VALUE
</OperandPtr
>
110 echo explain plan
select * from t1 where f1
= 'a' and f2
='a' or f3
='a';
113 <ScanType
> TableScan
</ScanType
>
121 <FieldName1
> f1
</FieldName1
>
122 <CompOp
> Equals
</CompOp
>
123 <OperandPtr
> VALUE
</OperandPtr
>
128 <FieldName1
> f2
</FieldName1
>
129 <CompOp
> Equals
</CompOp
>
130 <OperandPtr
> VALUE
</OperandPtr
>
137 <FieldName1
> f3
</FieldName1
>
138 <CompOp
> Equals
</CompOp
>
139 <OperandPtr
> VALUE
</OperandPtr
>
144 echo explain plan
select * from t1 where f1
= 'a' and f2
='a' and not
(f3
='a');
147 <ScanType
> TableScan
</ScanType
>
155 <FieldName1
> f1
</FieldName1
>
156 <CompOp
> Equals
</CompOp
>
157 <OperandPtr
> VALUE
</OperandPtr
>
162 <FieldName1
> f2
</FieldName1
>
163 <CompOp
> Equals
</CompOp
>
164 <OperandPtr
> VALUE
</OperandPtr
>
174 <FieldName1
> f3
</FieldName1
>
175 <CompOp
> Equals
</CompOp
>
176 <OperandPtr
> VALUE
</OperandPtr
>
183 echo explain plan
select * from t1 where f1
in('a','a','a') and f2
='a' and not
(f3
='a');
186 <ScanType
> TableScan
</ScanType
>
200 <FieldName1
> f1
</FieldName1
>
201 <CompOp
> Equals
</CompOp
>
202 <OperandPtr
> VALUE
</OperandPtr
>
207 <FieldName1
> f1
</FieldName1
>
208 <CompOp
> Equals
</CompOp
>
209 <OperandPtr
> VALUE
</OperandPtr
>
216 <FieldName1
> f1
</FieldName1
>
217 <CompOp
> Equals
</CompOp
>
218 <OperandPtr
> VALUE
</OperandPtr
>
225 <FieldName1
> f2
</FieldName1
>
226 <CompOp
> Equals
</CompOp
>
227 <OperandPtr
> VALUE
</OperandPtr
>
237 <FieldName1
> f3
</FieldName1
>
238 <CompOp
> Equals
</CompOp
>
239 <OperandPtr
> VALUE
</OperandPtr
>
246 echo explain plan
select * from t1 where f1
in('a','b','c') and f2 like
'a%' and not
(f3
='d');
249 <ScanType
> TableScan
</ScanType
>
263 <FieldName1
> f1
</FieldName1
>
264 <CompOp
> Equals
</CompOp
>
265 <OperandPtr
> VALUE
</OperandPtr
>
270 <FieldName1
> f1
</FieldName1
>
271 <CompOp
> Equals
</CompOp
>
272 <OperandPtr
> VALUE
</OperandPtr
>
279 <FieldName1
> f1
</FieldName1
>
280 <CompOp
> Equals
</CompOp
>
281 <OperandPtr
> VALUE
</OperandPtr
>
288 <FieldName1
> f2
</FieldName1
>
289 <CompOp
> Like
</CompOp
>
290 <OperandPtr
> VALUE
</OperandPtr
>
300 <FieldName1
> f3
</FieldName1
>
301 <CompOp
> Equals
</CompOp
>
302 <OperandPtr
> VALUE
</OperandPtr
>
309 echo explain plan
select * from t1 where f1
in('b','c','a') or f2 like
'a%' or not
(f3
='d');
312 <ScanType
> TableScan
</ScanType
>
326 <FieldName1
> f1
</FieldName1
>
327 <CompOp
> Equals
</CompOp
>
328 <OperandPtr
> VALUE
</OperandPtr
>
333 <FieldName1
> f1
</FieldName1
>
334 <CompOp
> Equals
</CompOp
>
335 <OperandPtr
> VALUE
</OperandPtr
>
342 <FieldName1
> f1
</FieldName1
>
343 <CompOp
> Equals
</CompOp
>
344 <OperandPtr
> VALUE
</OperandPtr
>
351 <FieldName1
> f2
</FieldName1
>
352 <CompOp
> Like
</CompOp
>
353 <OperandPtr
> VALUE
</OperandPtr
>
363 <FieldName1
> f3
</FieldName1
>
364 <CompOp
> Equals
</CompOp
>
365 <OperandPtr
> VALUE
</OperandPtr
>
372 echo explain plan
select * from t1 where f1
in('a','c','b') or f2 like
'a%' and not
(f3
='d');
375 <ScanType
> TableScan
</ScanType
>
386 <FieldName1
> f1
</FieldName1
>
387 <CompOp
> Equals
</CompOp
>
388 <OperandPtr
> VALUE
</OperandPtr
>
393 <FieldName1
> f1
</FieldName1
>
394 <CompOp
> Equals
</CompOp
>
395 <OperandPtr
> VALUE
</OperandPtr
>
402 <FieldName1
> f1
</FieldName1
>
403 <CompOp
> Equals
</CompOp
>
404 <OperandPtr
> VALUE
</OperandPtr
>
414 <FieldName1
> f2
</FieldName1
>
415 <CompOp
> Like
</CompOp
>
416 <OperandPtr
> VALUE
</OperandPtr
>
424 <FieldName1
> f3
</FieldName1
>
425 <CompOp
> Equals
</CompOp
>
426 <OperandPtr
> VALUE
</OperandPtr
>