Starting from version 10.1.2, MariaDB supports the EXPLAIN FORMAT=JSON syntax.
EXPLAIN FORMAT=JSON
is a variant of EXPLAIN
command that produces output in JSON form. The output always has one row which has only one column titled "JSON
". The contents are a JSON representation of the query plan, formatted for readability:
EXPLAIN FORMAT=JSON SELECT * FROM t1 WHERE col1=1\G
*************************** 1. row *************************** EXPLAIN: { "query_block": { "select_id": 1, "table": { "table_name": "t1", "access_type": "ALL", "rows": 1000, "filtered": 100, "attached_condition": "(t1.col1 = 1)" } } }
The output of MariaDB's EXPLAIN FORMAT=JSON
is different from EXPLAIN FORMAT=JSON
in MySQL.The reasons for that are:
EXPLAIN FORMAT=JSON in MySQL
) EXPLAIN FORMAT=JSON
is not defined. Even MySQL Workbench has trouble parsing it (see this blog post). A (as yet incomplete) list of how MariaDB's output is different from MySQL can be found here: EXPLAIN FORMAT=JSON differences from MySQL.
TODO: MariaDB's output format description.
ANALYZE FORMAT=JSON
produces output like EXPLAIN FORMAT=JSON
, but amended with the data from query execution.
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/explain-format-json/