This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-03. For the latest, interactive version please visit https://mariadb.com/kb/.

ANALYZE FORMAT=JSON

ANALYZE FORMAT=JSONEXPLAIN FORMAT=JSONANALYZE 语句功能的混合。 ANALYZE FORMAT=JSON $statement 将执行 $statement,然后打印 EXPLAIN FORMAT=JSON 的输出,附加查询执行的数据。

基本执行数据

您还可以从表格化的 ANALYZE 语句形式中获取以下内容:

  • r_rows 为任何读取行的节点提供。它显示平均读取了多少行。
  • r_filtered 在检查条件时提供。它显示检查条件后剩余的行数的百分比。

高级执行数据

常规表格化的 ANALYZE 语句中不可用的最重要数据是:

  • r_loops 字段。它显示节点被执行的次数。大多数查询计划元素都有此字段。
  • r_total_time_ms 字段。它显示节点总共花费的毫秒数。如果节点有子节点,则包括它们的执行时间。
  • r_buffer_size 字段。使用缓冲区的查询计划节点报告使用的缓冲区大小。

SHOW ANALYZE FORMAT=JSON

MariaDB starting with 10.9

SHOW ANALYZE FORMAT=JSON for <connection_id> 扩展了 ANALYZE [FORMAT=JSON] <select>,允许分析在另一个连接中当前正在运行的查询。

关于单个查询计划节点的数据

  • filesort 节点报告排序是否使用了 LIMIT n 参数,以及排序结果中有多少行。
  • block-nl-join 节点具有 r_loops 字段,可用于判断是否有效地使用了 Using join buffer
  • range-checked-for-each-record 报告计数器,显示检查结果。
  • expression-cache 用于子查询,报告缓存使用次数和缓存命中率。
  • union_result 节点具有 r_rows,因此可以查看 UNION 操作后产生了多少行
  • 等等

使用案例

请参见 ANALYZE FORMAT=JSON 的示例

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.