TRACE
TRACE 语句用于提供查询执行的详细信息,可通过 TiDB 服务器状态端口所公开的图形界面进行查看。
语法图
TraceStmt:

TraceableStmt:

示例
1. trace format='row' select * from mysql.user;
1. +--------------------------------------------+-----------------+------------+
2. | operation | startTS | duration |
3. +--------------------------------------------+-----------------+------------+
4. | trace | 17:03:31.938237 | 886.086µs |
5. | ├─session.Execute | 17:03:31.938247 | 507.812µs |
6. | │ ├─session.ParseSQL | 17:03:31.938254 | 22.504µs |
7. | │ ├─executor.Compile | 17:03:31.938321 | 278.931µs |
8. | │ │ └─session.getTxnFuture | 17:03:31.938337 | 1.515µs |
9. | │ └─session.runStmt | 17:03:31.938613 | 109.578µs |
10. | │ ├─TableReaderExecutor.Open | 17:03:31.938645 | 50.657µs |
11. | │ │ └─distsql.Select | 17:03:31.938666 | 21.066µs |
12. | │ │ └─RPCClient.SendRequest | 17:03:31.938799 | 158.411µs |
13. | │ └─session.CommitTxn | 17:03:31.938705 | 12.06µs |
14. | │ └─session.doCommitWitRetry | 17:03:31.938709 | 2.437µs |
15. | ├─*executor.TableReaderExecutor.Next | 17:03:31.938781 | 224.327µs |
16. | └─*executor.TableReaderExecutor.Next | 17:03:31.939019 | 6.266µs |
17. +--------------------------------------------+-----------------+------------+
18. 13 rows in set (0.00 sec)
1. trace format='json' select * from mysql.user;
可将 JSON 格式的跟踪文件粘贴到跟踪查看器中。查看器可通过 TiDB 状态端口访问:


MySQL 兼容性
TRACE 语句是 TiDB 对 MySQL 语法的扩展。
