You are viewing the archived documentation of TiDB, which no longer receives updates.

View latest LTS version docs

TRACE

The TRACE statement provides detailed information about query execution. It is intended to be viewed through a Graphical interface exposed by the TiDB server's status port.

Synopsis

TraceStmt:

TraceStmt

TraceableStmt:

TraceableStmt

Examples

mysql> trace format='row' select * from mysql.user; +---------------------------+-----------------+------------+ | operation | startTS | duration | +---------------------------+-----------------+------------+ | session.getTxnFuture | 10:33:34.647148 | 3.847µs | | ├─session.Execute | 10:33:34.647146 | 536.233µs | | ├─session.ParseSQL | 10:33:34.647182 | 19.868µs | | ├─executor.Compile | 10:33:34.647219 | 295.688µs | | ├─session.runStmt | 10:33:34.647533 | 116.229µs | | ├─session.CommitTxn | 10:33:34.647631 | 5.44µs | | ├─recordSet.Next | 10:33:34.647707 | 833.103µs | | ├─tableReader.Next | 10:33:34.647709 | 806.783µs | | ├─recordSet.Next | 10:33:34.648572 | 19.367µs | | └─tableReader.Next | 10:33:34.648575 | 1.783µs | +---------------------------+-----------------+------------+ 10 rows in set (0.00 sec) mysql> CREATE TABLE t1 (id int not null primary key AUTO_INCREMENT); Query OK, 0 rows affected (0.11 sec) mysql> INSERT INTO t1 VALUES (1),(2),(3),(4),(5); Query OK, 5 rows affected (0.02 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> TRACE FORMAT='json' SELECT * FROM t1 WHERE id = 2\G operation: [ {"ID":{"Trace":"60d20d005593de87","Span":"44e5b309242ffe2f","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"c2Vzc2lvbi5nZXRUeG5GdXR1cmU="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE2MTQ3ODYtMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE2MjA0MDYtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":[ {"ID":{"Trace":"60d20d005593de87","Span":"4dbf8f2ca373b4b0","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"c2Vzc2lvbi5QYXJzZVNRTA=="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE2NjE1MTQtMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3MDYxNjgtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"6b6d6916df809604","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"ZXhlY3V0b3IuQ29tcGlsZQ=="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3NTcyODUtMDY6MDA="}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3MzE0MjYtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"3f1bcdd402a72911","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"c2Vzc2lvbi5Db21taXRUeG4="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3OTgyNjItMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE4MDU1NzYtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"58c1f7d66dc5afbc","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"c2Vzc2lvbi5ydW5TdG10"}, {"Key":"_schema:name","Value":null}, {"Key":"Msg","Value":"eyJzcWwiOiJTRUxFQ1QgKiBGUk9NIHQxIFdIRVJFIGlkID0gMiJ9"}, {"Key":"Time","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3ODA1NjgtMDY6MDA="}, {"Key":"_schema:log","Value":null}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE4MTk5MzMtMDY6MDA="}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE3NzcyNDItMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"6bd8cc440fb31ed7","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"c2Vzc2lvbi5FeGVjdXRl"}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE2MTEwODktMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE4NTU0My0wNjowMA=="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"61d0b809f6cc018b","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"cmVjb3JkU2V0Lk5leHQ="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDE4NzQ1NTYtMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDIyOTg4NjYtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null}, {"ID":{"Trace":"60d20d005593de87","Span":"2bd2c3d47ccb1133","Parent":"79d146dac9a29a7e"}, "Annotations":[ {"Key":"Name","Value":"cmVjb3JkU2V0Lk5leHQ="}, {"Key":"_schema:name","Value":null}, {"Key":"Span.Start","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDIzMjY0ODgtMDY6MDA="}, {"Key":"Span.End","Value":"MjAxOS0wNC0xN1QxMDozOToxMC45NDIzMjkwMDMtMDY6MDA="}, {"Key":"_schema:Timespan","Value":null} ], "Sub":null} ] } ] 1 row in set (0.00 sec)

The JSON formatted trace can be pasted into the trace viewer, which is accessed via the TiDB status port:

TiDB Trace Viewer-1

TiDB Trace Viewer-2

MySQL compatibility

This statement is a TiDB extension to MySQL syntax.

See also