You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

204 lines
7.2 KiB

[
{
"Name": "TestPlanCacheWithDifferentVariableTypes",
"Cases": [
{
"PrepareStmt": "prepare stmt from \"select ?, ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "1"
},
{
"Name": "v2",
"Value": "2"
}
],
"Plan": [
"Projection_3 1.00 root 1->Column#1, 2->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1 2"
]
},
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "1"
},
{
"Name": "v2",
"Value": "\"abc\""
}
],
"Plan": [
"Projection_3 1.00 root 1->Column#1, abc->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"1 abc"
]
},
{
"SQL": "execute stmt using @v1, @v2",
"Vars": [
{
"Name": "v1",
"Value": "10"
},
{
"Name": "v2",
"Value": "\"cba\""
}
],
"Plan": [
"Projection_3 1.00 root 10->Column#1, cba->Column#2",
"└─TableDual_4 1.00 root rows:1"
],
"LastPlanUseCache": "0",
"Result": [
"10 cba"
]
}
]
},
{
"PrepareStmt": "prepare stmt from \"select a from t1 where t1.b = ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "3"
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[3,3], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": [
"3"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "2"
}
],
"Plan": [
"Projection_4 10.00 root test.t1.a",
"└─IndexReader_6 10.00 root index:IndexRangeScan_5",
" └─IndexRangeScan_5 10.00 cop[tikv] table:t1, index:b(b, a) range:[2,2], keep order:false, stats:pseudo"
],
"LastPlanUseCache": "1",
"Result": [
"2"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"abc\""
}
],
"Plan": [
"Projection_4 8000.00 root test.t1.a",
"└─IndexReader_10 8000.00 root index:Selection_9",
" └─Selection_9 8000.00 cop[tikv] eq(cast(test.t1.b), 0)",
" └─IndexFullScan_8 10000.00 cop[tikv] table:t1, index:b(b, a) keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
}
]
},
{
"PrepareStmt": "prepare stmt from \"select t1.c, t2.c from t1 join t2 on t1.b = t2.b and t1.a = t2.a where t1.b = ?\"",
"Executes": [
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "1"
}
],
"Plan": [
"HashJoin_23 99.90 root inner join, equal:[eq(test.t1.b, test.t2.b) eq(test.t1.a, test.t2.a)]",
"├─IndexLookUp_48(Build) 99.80 root ",
"│ ├─Selection_47(Build) 99.80 cop[tikv] not(isnull(test.t2.b))",
"│ │ └─IndexRangeScan_45 99.90 cop[tikv] table:t2, index:b(b, a) range:[1 -inf,1 +inf], keep order:false, stats:pseudo",
"│ └─TableRowIDScan_46(Probe) 99.80 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─IndexLookUp_41(Probe) 99.80 root ",
" ├─Selection_40(Build) 99.80 cop[tikv] not(isnull(test.t1.b))",
" │ └─IndexRangeScan_38 99.90 cop[tikv] table:t1, index:b(b, a) range:[1 -inf,1 +inf], keep order:false, stats:pseudo",
" └─TableRowIDScan_39(Probe) 99.80 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "2"
}
],
"Plan": [
"HashJoin_23 99.90 root inner join, equal:[eq(test.t1.b, test.t2.b) eq(test.t1.a, test.t2.a)]",
"├─IndexLookUp_48(Build) 99.80 root ",
"│ ├─Selection_47(Build) 99.80 cop[tikv] not(isnull(test.t2.b))",
"│ │ └─IndexRangeScan_45 99.90 cop[tikv] table:t2, index:b(b, a) range:[2 -inf,2 +inf], keep order:false, stats:pseudo",
"│ └─TableRowIDScan_46(Probe) 99.80 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─IndexLookUp_41(Probe) 99.80 root ",
" ├─Selection_40(Build) 99.80 cop[tikv] not(isnull(test.t1.b))",
" │ └─IndexRangeScan_38 99.90 cop[tikv] table:t1, index:b(b, a) range:[2 -inf,2 +inf], keep order:false, stats:pseudo",
" └─TableRowIDScan_39(Probe) 99.80 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "1",
"Result": [
"222 222"
]
},
{
"SQL": "execute stmt using @v1",
"Vars": [
{
"Name": "v1",
"Value": "\"abc\""
}
],
"Plan": [
"HashJoin_23 9980.01 root inner join, equal:[eq(test.t1.b, test.t2.b) eq(test.t1.a, test.t2.a)]",
"├─TableReader_44(Build) 7984.01 root data:Selection_43",
"│ └─Selection_43 7984.01 cop[tikv] eq(cast(test.t2.b), 0), not(isnull(test.t2.a)), not(isnull(test.t2.b))",
"│ └─TableFullScan_42 10000.00 cop[tikv] table:t2 keep order:false, stats:pseudo",
"└─TableReader_37(Probe) 7984.01 root data:Selection_36",
" └─Selection_36 7984.01 cop[tikv] eq(cast(test.t1.b), 0), not(isnull(test.t1.a)), not(isnull(test.t1.b))",
" └─TableFullScan_35 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo"
],
"LastPlanUseCache": "0",
"Result": null
}
]
}
]
}
]