空分区表建立索引hang住了怎么排查

tidb版本6.1
会话1在给一个10亿行的表建立索引
会话2在给一个空的分区表建立索引
会话2持续时间很长都没有完成增么确定会话2在等待什么资源

多个 DDL 语句一起执行的时候,后面的几个 DDL 语句会比较慢。原因是当前 TiDB 集群中 DDL 操作是串行执行的。

1 个赞

查下 DDL JOB 的status

https://docs.pingcap.com/zh/tidb/stable/sql-faq#如何查看-ddl-job

因为是异步的,也是串行的,所以比较慢… 多看看状态

admin show ddl jobs

可以查看到ddl执行情况。
TiDB的架构设计上,DDL是放到队列了,多个ower轮流执行的,并且是串行执行,所以你可以开其他session查看执行job的情况,判断。
我们线上环境,有执行加索引24+小时的记录。
所以你可以看看

先 看下楼上说的,admin show ddl jobs 查看ddl的进度状态,如果希望加快可以修改参数:
SET GLOBAL tidb_ddl_reorg_worker_cnt=16; 临时动态调整并发度,索引添加速度百倍增加。
此参数默认为4.

业务低峰期,手动调参数,加快索引创建速度

加参数,提高创建索引的速度

赞一个,我之前就是这么操作的。

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