作者:王泽铭​


【目录】
【正文】

今天分析一个慢查询 SQL,发现 SQL 实际执行时间是 TSO 时间,为了查看这些 SQL 是否是短时间内调用产生,需要知晓实际执行时间。于是去论坛搜索了下,并未找到能够解决问题的文档。于是写篇短文,分享下。

如下,是慢查询示例:

TSO 时间戳转换为自然时间_sql

可以看到 txn_start_ts 字段是 TSO 时间戳。如何转换为自然时间呢?

TSO 时间戳转换为自然时间_sql_02

如上,使用 ​​pd-ctl​​​ 这个工具,在交互式命令行下使用 ​​tso​​ 子命令就可以解决。

命令: ​​pd-ctl -i -u <PD_ADDR>​​​​-u​​ 指定 PD 的地址
可以参考: ​​https://docs.pingcap.com/zh/tidb/v4.0/pd-control#tso​

如果大家还有更优的方法,欢迎指出,共同学习,感谢!