|
265 | 265 | {
|
266 | 266 | "SQL": "select * from t where a = 1 and ((b = 1) or (b = 2 and c = 3));",
|
267 | 267 | "Plan": [
|
268 |
| - "TableReader_6 1.71 root data:TableRangeScan_5", |
269 |
| - "└─TableRangeScan_5 1.71 cop[tikv] table:t range:[1 1,1 1], [1 2 3,1 2 3], keep order:false" |
| 268 | + "TableReader_6 2.00 root data:TableRangeScan_5", |
| 269 | + "└─TableRangeScan_5 2.00 cop[tikv] table:t range:[1 1,1 1], [1 2 3,1 2 3], keep order:false" |
270 | 270 | ],
|
271 | 271 | "Result": [
|
272 | 272 | "1 1 1"
|
|
293 | 293 | {
|
294 | 294 | "SQL": "select * from t use index(primary) where ((a = 1) or (a = 2 and b = 2)) and c = 3;",
|
295 | 295 | "Plan": [
|
296 |
| - "TableReader_7 0.68 root data:Selection_6", |
297 |
| - "└─Selection_6 0.68 cop[tikv] eq(test.t.c, 3), or(eq(test.t.a, 1), and(eq(test.t.a, 2), eq(test.t.b, 2)))", |
| 296 | + "TableReader_7 0.75 root data:Selection_6", |
| 297 | + "└─Selection_6 0.75 cop[tikv] eq(test.t.c, 3), or(eq(test.t.a, 1), and(eq(test.t.a, 2), eq(test.t.b, 2)))", |
298 | 298 | " └─TableRangeScan_5 2.00 cop[tikv] table:t range:[1,1], [2,2], keep order:false"
|
299 | 299 | ],
|
300 | 300 | "Result": [
|
|
304 | 304 | {
|
305 | 305 | "SQL": "select * from t where (a,b) in ((1,1),(2,2)) and c > 2 and (a,b,c) in ((1,1,1),(2,2,3));",
|
306 | 306 | "Plan": [
|
307 |
| - "Selection_6 0.44 root gt(test.t.c, 2), or(and(eq(test.t.a, 1), eq(test.t.b, 1)), and(eq(test.t.a, 2), eq(test.t.b, 2)))", |
| 307 | + "Selection_6 0.56 root gt(test.t.c, 2), or(and(eq(test.t.a, 1), eq(test.t.b, 1)), and(eq(test.t.a, 2), eq(test.t.b, 2)))", |
308 | 308 | "└─Batch_Point_Get_5 2.00 root table:t, clustered index:PRIMARY(a, b, c) keep order:false, desc:false"
|
309 | 309 | ],
|
310 | 310 | "Result": [
|
|
314 | 314 | {
|
315 | 315 | "SQL": "select * from t where (a,b) in ((1,1),(2,2)) and c > 2;",
|
316 | 316 | "Plan": [
|
317 |
| - "TableReader_6 1.19 root data:TableRangeScan_5", |
318 |
| - "└─TableRangeScan_5 1.19 cop[tikv] table:t range:(1 1 2,1 1 +inf], (2 2 2,2 2 +inf], keep order:false" |
| 317 | + "TableReader_6 1.00 root data:TableRangeScan_5", |
| 318 | + "└─TableRangeScan_5 1.00 cop[tikv] table:t range:(1 1 2,1 1 +inf], (2 2 2,2 2 +inf], keep order:false" |
319 | 319 | ],
|
320 | 320 | "Result": [
|
321 | 321 | "2 2 3"
|
|
324 | 324 | {
|
325 | 325 | "SQL": "select * from t where ((a = 1 and b = 1) or (a = 2 and b = 2)) and c > 2;",
|
326 | 326 | "Plan": [
|
327 |
| - "TableReader_6 1.19 root data:TableRangeScan_5", |
328 |
| - "└─TableRangeScan_5 1.19 cop[tikv] table:t range:(1 1 2,1 1 +inf], (2 2 2,2 2 +inf], keep order:false" |
| 327 | + "TableReader_6 1.00 root data:TableRangeScan_5", |
| 328 | + "└─TableRangeScan_5 1.00 cop[tikv] table:t range:(1 1 2,1 1 +inf], (2 2 2,2 2 +inf], keep order:false" |
329 | 329 | ],
|
330 | 330 | "Result": [
|
331 | 331 | "2 2 3"
|
|
364 | 364 | {
|
365 | 365 | "SQL": "select * from t2 where t='aaaa';",
|
366 | 366 | "Plan": [
|
367 |
| - "TableReader_7 1.00 root data:Selection_6", |
368 |
| - "└─Selection_6 1.00 cop[tikv] eq(test.t2.t, \"aaaa\")", |
| 367 | + "TableReader_7 0.00 root data:Selection_6", |
| 368 | + "└─Selection_6 0.00 cop[tikv] eq(test.t2.t, \"aaaa\")", |
369 | 369 | " └─TableRangeScan_5 2.00 cop[tikv] table:t2 range:[0,+inf], keep order:false"
|
370 | 370 | ],
|
371 | 371 | "Result": [
|
|
375 | 375 | {
|
376 | 376 | "SQL": "select * from t2 where t='aaaa' or t = 'a';",
|
377 | 377 | "Plan": [
|
378 |
| - "TableReader_7 1.60 root data:Selection_6", |
379 |
| - "└─Selection_6 1.60 cop[tikv] or(eq(test.t2.t, \"aaaa\"), eq(test.t2.t, \"a\"))", |
| 378 | + "TableReader_7 0.80 root data:Selection_6", |
| 379 | + "└─Selection_6 0.80 cop[tikv] or(eq(test.t2.t, \"aaaa\"), eq(test.t2.t, \"a\"))", |
380 | 380 | " └─TableRangeScan_5 2.00 cop[tikv] table:t2 range:[0,+inf], keep order:false"
|
381 | 381 | ],
|
382 | 382 | "Result": [
|
|
0 commit comments