TiDB EXPLAIN ANALYZE执行计划中execution info中的probe是什么?

TiDB通过EXPLAIN ANALYZE得到的执行计划中execution info中的probe是什么?
如:hashjoin算子的execution info

time: 3m57.2s, loop:2, build_hash_table:{total:3m57.2s, fetch: 3m57.2s, build:80us},probe:{concurrency:5, total:19m45.8s,max:3m57.2s,probe:539.9us,fetch:19m45.8s}

这里有两个probe,一个是{}外的probe,一个是{}内的probe,请问这两个probe分别是什么意思?

https://docs.pingcap.com/zh/tidb/stable/sql-statement-explain-analyze#indexjoin 这里搜索 probe 自己理解一下吧。

  • probe: join worker 的执行信息:
    • concurrency:join worker 的数量。
    • total:所有 join worker 执行的总耗时。
    • max:单个 join worker 执行的最大耗时。
    • probe: 用 outer table rows 和 hash table 做 join 的总耗时。
    • fetch:join worker 等待读取 outer table rows 数据的总耗时。
1 个赞
  1. {}外的probe:
    这部分描述了probe阶段的整体统计信息。具体到您给出的例子中:
    • time: 3m57.2s 指的是probe阶段总耗时约为3分57.2秒。
    • concurrency:5 表明在probe阶段使用了5个并发(线程或任务)来执行操作,这有助于加速数据处理。
    • total:19m45.8s 是probe阶段所有并发任务的总执行时间,即5个并发任务执行 probe 操作的累计时间。
    • max:3m57.2s 应该是指单个并发任务probe操作的最大耗时,

学习了,感谢!

多看官方文档哈!

  • probeIndexJoin 主线程用 outer table rows 和 inner table rows 的 hash table 做 join 的总耗时。

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