如何使用Optimizer Tracing

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】 6.2
【遇到的问题:问题现象及影响】
我看到有Optimizer Tracing这个feature的请求,请问目前TiDB支持了,如果支持了,如何使用? 我好像没有看到相关的文档。
https://github.com/pingcap/tidb/issues/9243

https://docs.pingcap.com/zh/tidb/stable/sql-statement-trace#trace

这个应该能满足

1 个赞

试试explain format=‘cost_trace’ 能执行不

我本地的release-6.2版本看来还不行,不过多谢,我试一下其他版本

你这个是跟踪执行过程,我需要是跟踪优化器的优化过程,比如有多个access path的选择,需要打印出来,

直接改了源码,把EnableOptimizeTrace硬编码为true了,然后debug的时候,再去看下面方法里的变量。。。。
// RecordFinalPlanTrace records final physical plan trace
func (tracer *PhysicalOptimizeTracer) RecordFinalPlanTrace(root *PlanTrace) {
tracer.Final = toFlattenPlanTrace(root)
tracer.buildCandidatesInfo()
}

但是感觉TIDB的Optimize 的Trace功能比MySQL里的信息显示的少了很多,比较弱,不知道是不是我没有用对?

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。