mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
56 lines
1.4 KiB
Text
56 lines
1.4 KiB
Text
create or replace table t1 (col1 char(10) character set ucs2, filler char(100), key(col1)) ;
|
|
insert into t1 values ('a', 'a');
|
|
insert into t1 values ('a', 'a');
|
|
set optimizer_trace=1;
|
|
explain format=json select * from t1 force index(col1) where col1 >='a';
|
|
EXPLAIN
|
|
{
|
|
"query_block": {
|
|
"select_id": 1,
|
|
"cost": "COST_REPLACED",
|
|
"nested_loop": [
|
|
{
|
|
"table": {
|
|
"table_name": "t1",
|
|
"access_type": "range",
|
|
"possible_keys": ["col1"],
|
|
"key": "col1",
|
|
"key_length": "21",
|
|
"used_key_parts": ["col1"],
|
|
"loops": 1,
|
|
"rows": 2,
|
|
"cost": "COST_REPLACED",
|
|
"filtered": 100,
|
|
"index_condition": "t1.col1 >= 'a'"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
|
JS
|
|
[
|
|
{
|
|
"range_scan_alternatives":
|
|
[
|
|
{
|
|
"index": "col1",
|
|
"ranges":
|
|
["(a) <= (col1)"],
|
|
"rowid_ordered": false,
|
|
"using_mrr": false,
|
|
"index_only": false,
|
|
"rows": 2,
|
|
"cost": 0.003808422,
|
|
"chosen": true
|
|
}
|
|
],
|
|
"analyzing_roworder_intersect":
|
|
{
|
|
"cause": "too few roworder scans"
|
|
},
|
|
"analyzing_index_merge_union":
|
|
[]
|
|
}
|
|
]
|
|
drop table t1;
|