≫ 分析

查询配置文件

SQL 的 SHOW PROFILE 语句和 "profile": true JSON 接口选项都提供了已执行查询的详细执行配置文件。对于 SQL,必须在当前会话中 运行要监控的语句之前启用配置文件。这可以通过语句 SET profiling=1 来实现。默认情况下,为避免潜在的性能影响,配置文件功能是禁用的,如果未启用,将返回空配置文件。

每个配置文件结果包括以下字段:

  • Status 列简要描述了时间花费的具体状态。见下文。
  • Duration 列显示墙钟时间,单位为秒。
  • Switches 列显示查询引擎切换到给定状态的次数。这仅是逻辑引擎状态切换,不是任何操作系统层面的上下文切换或函数调用(尽管某些部分实际上可能映射到函数调用),并且它们不会对性能产生任何直接影响。从某种意义上说,切换次数只是各个监控点被触发的次数。
  • Percent 列显示在该状态下花费时间的百分比。

配置文件中的状态按预录顺序返回,粗略映射(但完全相同)于实际查询顺序。

状态列表可能会随着我们对状态的细化而(且将会)变化。以下是当前监控状态的简要说明。

  • unknown:通用的兜底状态。包括还未监控的代码或不属于其他任何状态的小的杂项任务,但这些任务太小不足以形成独立状态。
  • net_read:从网络(即应用程序)读取查询。
  • io:通用文件 IO 时间。
  • dist_connect:在分布式表的情况下连接远程代理。
  • sql_parse:解析 SQL 语法。
  • dict_setup:字典和分词器设置。
  • parse:解析全文查询语法。
  • transforms:全文查询转换(通配符及其他展开、简化等)。
  • init:初始化查询求值。
  • open:打开表文件。
  • read_docs:读取文档列表花费的 IO 时间。
  • read_hits:读取关键词位置花费的 IO 时间。
  • get_docs:计算匹配的文档。
  • get_hits:计算匹配的位置。
  • filter:过滤全文匹配项。
  • rank:计算相关性排名。
  • sort:排序匹配结果。
  • finalize:完成每个表搜索结果集(最后阶段表达式等)。
  • dist_wait:分布式表情况下等待远程代理结果。
  • aggregate:聚合多个结果集。
  • net_write:将结果集写入网络。
‹›
  • SQL
  • JSON
📋
SET profiling=1;
SELECT id FROM forum WHERE MATCH('the best') LIMIT 1;
SHOW PROFILE;
‹›
Response
Query OK, 0 rows affected (0.00 sec)
+--------+
| id     |
+--------+
| 241629 |
+--------+
1 row in set (0.35 sec)
+--------------+----------+----------+---------+
| Status       | Duration | Switches | Percent |
+--------------+----------+----------+---------+
| unknown      | 0.000557 | 5        | 0.16    |
| net_read     | 0.000016 | 1        | 0.00    |
| local_search | 0.000076 | 1        | 0.02    |
| sql_parse    | 0.000121 | 1        | 0.03    |
| dict_setup   | 0.000003 | 1        | 0.00    |
| parse        | 0.000072 | 1        | 0.02    |
| transforms   | 0.000331 | 2        | 0.10    |
| init         | 0.001945 | 3        | 0.56    |
| read_docs    | 0.001257 | 76       | 0.36    |
| read_hits    | 0.002598 | 186      | 0.75    |
| get_docs     | 0.089328 | 2691     | 25.80   |
| get_hits     | 0.189626 | 2799     | 54.78   |
| filter       | 0.009369 | 2613     | 2.71    |
| rank         | 0.029669 | 7760     | 8.57    |
| sort         | 0.019070 | 2531     | 5.51    |
| finalize     | 0.000001 | 1        | 0.00    |
| clone_attrs  | 0.002009 | 1        | 0.58    |
| aggregate    | 0.000054 | 2        | 0.02    |
| net_write    | 0.000076 | 2        | 0.02    |
| eval_post    | 0.000001 | 1        | 0.00    |
| total        | 0.346179 | 18678    | 0       |
+--------------+----------+----------+---------+
21 rows in set (0.00 sec)
Last modified: August 28, 2025