执行计划查看

1)使用explain analyze 后面可以加类似于SQLid 格式吗?而不是具体SQL语句
2)如何查看当前正在运行SQL执行计划
3)trace 后面可以加类似于SQLid 格式吗?而不是具体SQL语句

3 个赞
  1. 只能加sql语句 2.当前的没法看,记录慢sql后会有当时执行计划 3. 用sql语句。 tidb
    没有像oracle那样的sql_id
2 个赞

1)digest 其实就是类似于sqlid,建议功能上能否考虑一下,不然后只能加sql语句,太繁琐了,
2)如果是绑定变量的SQL,是否要带入实际变量才能显示执行计划?

2 个赞

CLUSTER_STATEMENTS_SUMMARY等记录SQL的系统表里可以有digest和plan,可直接使用tidb_decode_plan 解析Plan的内容(低版本可能没有)。

2 个赞

为啥下面使用tidb_decode_plan 无法显示执行计划?

2 个赞

plan字段不是digest

2 个赞

还是不行

2 个赞

2 个赞

为啥我这样不行?bug 吗

2 个赞

plan字段,不是Plan_digest

2 个赞

plan 字段本来就是限制执行计划,再加tidb_decode_plan 就多此一举了吧?

2 个赞

建议实际测试看一下

1 个赞

digest 是标准定长 hash 输出 为了确定执行计划的关联性和方便统计
plan 是为了标准化输出将执行计划进行序列号防止信息丢失的设置

此 2 个属于开发类知识,可以参考程序设计进一步了解相关知识

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