analyze table test

目前的集群,为啥我analyze table test表,需要13分钟? 关键目前这个test表还是一个空表,表结构如下:
CREATE TABLE test (
id int(11) NOT NULL,
PRIMARY KEY (id) /*T![clustered_index] NONCLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin

这个表是新建的吗?以前灌过测试数据么?

新建立的表,没有往里面插入过一条数据的

上集群的配置信息,cpu,内存,磁盘类型等等

2、3、4、5、11 tidb-server 配置:CPU:24 内存:64G,磁盘NVME
pd:3、4、5
tikv-12,13,14,CPU:24 内存:64G,磁盘NVME
tiflash:2,11 CPU:24 内存:64G,磁盘NVME

另外我问一下,你们线上统计信息是自动收集的吗?为什么我的统计信息控制在00点到06点之间收集,但是白天dashboard里面却能查询到自动的统计信息?

空表13分钟。。。。看下集群拓扑和资源利用率吧

为了性能是不是可以考虑把这个空表drop掉呢

analyze 可以自己配置是否自动,自动收集是单线程的,优先级很低,手动处理是多线程的,高优先级

后面迭代的版本,会考虑优化这个收集模式,尽量不占用更多资源的情况下,加速收集

drop 重建再跑下试试呢?
另外可以show table XXX regions看看有多少空间占用

看看他的执行详情,和其他正常的analyze对比一下,有啥区别

EXPLAIN ANALYZE看一下时间花费在哪里了


后面卡着不动了?

tidb dishboard 里面有执行详情,看看那个,时间都花费到了哪里

\G 和 ; 的作用是一样的, 要么用\G不加分号,要么直接用“;”号,不要用 “\G;” 要不就会报 ERROR: No query specified,不过这个不影响,你这表确实没数据,走的还是主键索引,看着没啥问题啊

磁盘io正常吗?

重启集群服务看下情况,以及通过dashboard监控看下服务器的内存和cpu资源使用率