【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】TRUNCATE TABLE ,空表,为什么需要4S啊
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
影响的时间的因素挺多的,自身执行原理、资源使用、mdl锁。你的这个场景大概率 regions 太多了:show table <table_name> regions;
1 个赞
truncate table 是ddl语句,执行时间和数据量无关。truncate实际上是要创建一个新表并删了旧表。
tidb有mdl锁,执行ddl语句还有队列不能并发对表的操作,慢可能是正常的,需要排查下当时有没有其他ddl或者有mdl锁
1 个赞
只有一个regioins,
这是 truncate 之后看的?truncate 之后的region 数是按表定义来创建的。需要 truncate 之前看
DDL执行排队了
没有排队的情况,刚执行的时候看了s
没有数据
表多大啊,是不是类似mysql 大表,涉及到region 很多,磁盘io慢
没有数据,空表
truncate实际上是drop/create操作,ddl需要进队列,owner单线程执行
看了半天,的确是很困惑的问题。
表的健康度如何,统计信息是否准确
空表做TRUNCATE TABLE ,这个是什么逻辑
变成空表前是不是个大表
没显示慢在哪一步呢
库里总共有多少个表呢
具体是什么版本,高版本可能是元数据锁导致
资源够吗