Description\n-----------\n\nSynopsis\n\nEXPLAIN 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:\n\n``sql\nEXPLAIN FORMAT=JSON SELECT  FROM t1 WHERE col1=1\\G\n`\n\n`\n*********************** 1. row ***********************\nEXPLAIN: {\n  "query_block": {\n    "select_id": 1,\n    "table": {\n      "table_name": "t1",\n      "access_type": "ALL",\n      "rows": 1000,\n      "filtered": 100,\n      "attached_condition": "(t1.col1 = 1)"\n    }\n  }\n}\n`\n\nOutput is different from MySQL\n\nThe output of MariaDB's EXPLAIN FORMAT=JSON is different from EXPLAIN FORMAT=JSON in MySQL. The reasons for that are:\n\n MySQL's output has deficiencies.\n The output of MySQL's EXPLAIN FORMAT=JSON` is not defined. Even MySQL Workbench has trouble parsing it (see this blog post).\n MariaDB has query optimizations that MySQL does not have. This means that MariaDB generates query plans that MySQL does not generate.\n\nOutput Format\n\nTODO: MariaDB's output format description.\n\nURL: https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/analyze-and-explain-statements/explain-format-json