Files
tidb/statistics/testdata/integration_suite_out.json

813 lines
34 KiB
JSON

[
{
"Name": "TestExpBackoffEstimation",
"Cases": [
[
"IndexReader_6 5.00 root index:IndexRangeScan_5",
"└─IndexRangeScan_5 5.00 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) range:[1,1], keep order:false"
],
[
"IndexReader_10 3.00 root index:Selection_9",
"└─Selection_9 3.00 cop[tikv] eq(test.exp_backoff.b, 1)",
" └─IndexFullScan_8 5.00 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) keep order:false"
],
[
"IndexReader_10 2.00 root index:Selection_9",
"└─Selection_9 2.00 cop[tikv] eq(test.exp_backoff.c, 1)",
" └─IndexFullScan_8 5.00 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) keep order:false"
],
[
"IndexReader_10 3.00 root index:Selection_9",
"└─Selection_9 3.00 cop[tikv] ge(test.exp_backoff.d, 3), le(test.exp_backoff.d, 5)",
" └─IndexFullScan_8 5.00 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) keep order:false"
],
[
"IndexReader_6 1.36 root index:IndexRangeScan_5",
"└─IndexRangeScan_5 1.36 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) range:[1 1 1 3,1 1 1 5], keep order:false"
],
[
"IndexReader_6 0.00 root index:IndexRangeScan_5",
"└─IndexRangeScan_5 0.00 cop[tikv] table:exp_backoff, index:idx(a, b, c, d) range:[1 1 1 3,1 1 1 5], keep order:false"
]
]
},
{
"Name": "TestNULLOnFullSampling",
"Cases": [
[
"test t a 0 1 3",
"test t a 0 2 2",
"test t idx 1 1 3",
"test t idx 1 2 2"
],
[
"test t a 0 0 1 1 3 3 0",
"test t a 0 1 2 1 4 4 0",
"test t idx 1 0 1 1 3 3 0",
"test t idx 1 1 2 1 4 4 0"
]
]
},
{
"Name": "TestDefaultSelectivityForStrMatch",
"Cases": [
{
"SQL": "set @@tidb_default_string_match_selectivity = 0.8",
"Result": null
},
{
"SQL": "explain format = 'brief' select * from t where a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%'",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%'",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*test.*'",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] regexp(test.t.b, \".*test.*\")",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*test.*'",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*test.*\")))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' and a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100), like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%' and a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100), not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' or a + 10 > 100",
"Result": [
"TableReader 9600.00 root data:Selection",
"└─Selection 9600.00 cop[tikv] or(like(test.t.b, \"%test%\", 92), gt(plus(test.t.a, 10), 100))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "set @@tidb_default_string_match_selectivity = 0.9",
"Result": null
},
{
"SQL": "explain format = 'brief' select * from t where a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*test.*'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] regexp(test.t.b, \".*test.*\")",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*test.*'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*test.*\")))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' and a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100), like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%' and a + 10 > 100",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] gt(plus(test.t.a, 10), 100), not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' or a + 10 > 100",
"Result": [
"TableReader 9800.00 root data:Selection",
"└─Selection 9800.00 cop[tikv] or(like(test.t.b, \"%test%\", 92), gt(plus(test.t.a, 10), 100))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "set @@tidb_default_string_match_selectivity = 0.1",
"Result": null
},
{
"SQL": "explain format = 'brief' select * from t where a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' is true",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] istrue(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*test.*'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] regexp(test.t.b, \".*test.*\")",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b rlike '.*test.*'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] regexp(test.t.b, \".*test.*\")",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not rlike '.*test.*'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*test.*\")))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*test.*'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*test.*\")))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' and a + 10 > 100",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] gt(plus(test.t.a, 10), 100), like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%' and a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100), not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' or a + 10 > 100",
"Result": [
"TableReader 8200.00 root data:Selection",
"└─Selection 8200.00 cop[tikv] or(like(test.t.b, \"%test%\", 92), gt(plus(test.t.a, 10), 100))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "set @@tidb_default_string_match_selectivity = 0",
"Result": null
},
{
"SQL": "explain format = 'brief' select * from t where a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*test.*'",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] regexp(test.t.b, \".*test.*\")",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*test.*'",
"Result": [
"TableReader 9000.00 root data:Selection",
"└─Selection 9000.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*test.*\")))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' and a + 10 > 100",
"Result": [
"TableReader 1000.00 root data:Selection",
"└─Selection 1000.00 cop[tikv] gt(plus(test.t.a, 10), 100), like(test.t.b, \"%test%\", 92)",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%test%' and a + 10 > 100",
"Result": [
"TableReader 8000.00 root data:Selection",
"└─Selection 8000.00 cop[tikv] gt(plus(test.t.a, 10), 100), not(like(test.t.b, \"%test%\", 92))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%test%' or a + 10 > 100",
"Result": [
"TableReader 8200.00 root data:Selection",
"└─Selection 8200.00 cop[tikv] or(like(test.t.b, \"%test%\", 92), gt(plus(test.t.a, 10), 100))",
" └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
]
}
]
},
{
"Name": "TestTopNAssistedEstimationWithNewCollation",
"Cases": [
{
"SQL": "explain format = 'brief' select * from t where a like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.a, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.a, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a regexp '.*111.*'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] regexp(test.t.a, \".*111.*\")",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a not regexp '.*111.*'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(istrue_with_null(regexp(test.t.a, \".*111.*\")))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(a, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.a, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.f, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f regexp '.*111.*'",
"Result": [
"Selection 32.00 root regexp(test.t.f, \".*111.*\")",
"└─TableReader 40.00 root data:TableFullScan",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f not regexp '.*111.*'",
"Result": [
"Selection 32.00 root not(regexp(test.t.f, \".*111.*\"))",
"└─TableReader 40.00 root data:TableFullScan",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(f, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.f, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a like '%111%' and f rlike '.*111.*'",
"Result": [
"Selection 24.56 root regexp(test.t.f, \".*111.*\")",
"└─TableReader 30.70 root data:Selection",
" └─Selection 30.70 cop[tikv] like(test.t.a, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a like '%111%' or f like '%111%'",
"Result": [
"TableReader 37.84 root data:Selection",
"└─Selection 37.84 cop[tikv] or(like(test.t.a, \"%111%\", 92), like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(test.t.b, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%111%'",
"Result": [
"TableReader 36.00 root data:Selection",
"└─Selection 36.00 cop[tikv] not(like(test.t.b, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*111.*'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] regexp(test.t.b, \".*111.*\")",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*111.*'",
"Result": [
"TableReader 36.00 root data:Selection",
"└─Selection 36.00 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*111.*\")))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(b, '1111') like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(ifnull(test.t.b, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%' and f like '%111%'",
"Result": [
"TableReader 3.07 root data:Selection",
"└─Selection 3.07 cop[tikv] like(test.t.b, \"%111%\", 92), like(test.t.f, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%' or f like '%111%'",
"Result": [
"TableReader 31.63 root data:Selection",
"└─Selection 31.63 cop[tikv] or(like(test.t.b, \"%111%\", 92), like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where c like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(test.t.c, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where c not like '%111%'",
"Result": [
"TableReader 36.00 root data:Selection",
"└─Selection 36.00 cop[tikv] not(like(test.t.c, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(c, '1111') like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(ifnull(test.t.c, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where d like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(test.t.d, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where d not like '%111%'",
"Result": [
"TableReader 36.00 root data:Selection",
"└─Selection 36.00 cop[tikv] not(like(test.t.d, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(c, '1111') like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(ifnull(test.t.c, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where e like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(test.t.e, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where e not like '%111%'",
"Result": [
"TableReader 36.00 root data:Selection",
"└─Selection 36.00 cop[tikv] not(like(test.t.e, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(e, '1111') like '%111%'",
"Result": [
"TableReader 4.00 root data:Selection",
"└─Selection 4.00 cop[tikv] like(ifnull(test.t.e, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
}
]
},
{
"Name": "TestTopNAssistedEstimationWithoutNewCollation",
"Cases": [
{
"SQL": "explain format = 'brief' select * from t where a like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.a, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.a, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a regexp '.*111.*'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] regexp(test.t.a, \".*111.*\")",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a not regexp '.*111.*'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(istrue_with_null(regexp(test.t.a, \".*111.*\")))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(a, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.a, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.f, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f regexp '.*111.*'",
"Result": [
"Selection 32.00 root regexp(test.t.f, \".*111.*\")",
"└─TableReader 40.00 root data:TableFullScan",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where f not regexp '.*111.*'",
"Result": [
"Selection 32.00 root not(regexp(test.t.f, \".*111.*\"))",
"└─TableReader 40.00 root data:TableFullScan",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(f, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.f, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a like '%111%' and f rlike '.*111.*'",
"Result": [
"Selection 24.56 root regexp(test.t.f, \".*111.*\")",
"└─TableReader 30.70 root data:Selection",
" └─Selection 30.70 cop[tikv] like(test.t.a, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where a like '%111%' or f like '%111%'",
"Result": [
"TableReader 37.84 root data:Selection",
"└─Selection 37.84 cop[tikv] or(like(test.t.a, \"%111%\", 92), like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.b, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.b, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b regexp '.*111.*'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] regexp(test.t.b, \".*111.*\")",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b not regexp '.*111.*'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(istrue_with_null(regexp(test.t.b, \".*111.*\")))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(b, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.b, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%' and f like '%111%'",
"Result": [
"TableReader 23.56 root data:Selection",
"└─Selection 23.56 cop[tikv] like(test.t.b, \"%111%\", 92), like(test.t.f, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where b like '%111%' or f like '%111%'",
"Result": [
"TableReader 37.84 root data:Selection",
"└─Selection 37.84 cop[tikv] or(like(test.t.b, \"%111%\", 92), like(test.t.f, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where c like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.c, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where c not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.c, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(c, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.c, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where d like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.d, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where d not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.d, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(c, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.c, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where e like '%111%'",
"Result": [
"TableReader 30.70 root data:Selection",
"└─Selection 30.70 cop[tikv] like(test.t.e, \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where e not like '%111%'",
"Result": [
"TableReader 6.30 root data:Selection",
"└─Selection 6.30 cop[tikv] not(like(test.t.e, \"%111%\", 92))",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
},
{
"SQL": "explain format = 'brief' select * from t where ifnull(e, '1111') like '%111%'",
"Result": [
"TableReader 33.70 root data:Selection",
"└─Selection 33.70 cop[tikv] like(ifnull(test.t.e, \"1111\"), \"%111%\", 92)",
" └─TableFullScan 40.00 cop[tikv] table:t keep order:false"
]
}
]
}
]