ОБЪЯСНЕНИЕ FORMAT=JSON в MySQL
Существуют некоторые моменты, которые нас в MariaDB не устраивают в реализации EXPLAIN FORMAT=JSON в MySQL/Oracle.
Самые важные проблемы уже исправлены в реализации EXPLAIN FORMAT=JSON в MariaDB. Подробности см. в EXPLAIN FORMAT=JSON и EXPLAIN FORMAT=JSON Differences From MySQL.
На этой странице перечислены моменты, которые ещё не исправлены.
Более высокий приоритет
- Улучшенное отображение для ORDER/GROUP BY (MDEV-6995)
- Улучшенное отображение планов доступа к ключам с пакетной обработкой (Простая буферизация объединения уже исправлена)
Желательно
Показать сканируемые диапазоны
В настоящее время диапазоны, производимые оптимизатором диапазонов, можно найти только в optimizer_trace. Было бы неплохо, если бы EXPLAIN показывал их тоже.
MySQL [dbt3sf1]> explain format=json select * from customer where c_acctbal < -1000 \G
*************************** 1. row ***************************
EXPLAIN: {
"query_block": {
"select_id": 1,
"table": {
"table_name": "customer",
"access_type": "range",
"possible_keys": [
"c_acctbal",
"i_c_acctbal_nationkey"
],
"key": "c_acctbal",
"used_key_parts": [
"c_acctbal"
],
"key_length": "9",
"rows": 1,
"filtered": 100,
"index_condition": "(`dbt3sf1`.`customer`.`c_acctbal` < -(1000))"
}
}
}
Низкий приоритет
Filesort/очередь с приоритетом
Ни одна версия EXPLAIN в 5.6 не показывает оптимизацию «filesort с небольшим лимитом». См. MDEV-6430.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/explain-formatjson-in-mysql/