GBase 8s
运维管理
文章

detach分片表非常慢的一个案例

GBase社区管理员
发表于2023-05-16 10:41:4125次浏览0个评论

近日遇到一个案例,是客户detach一个分片表的时候,非常慢,detach的分片大约有600万行数据,全表有4000多万行数据。

我认为DETACH是一个DDL操作,应该很快才对呀。

于是索要detach语句和表结构,如下:

alter fragment on table tab_name detach part201805  part201805_tmp;

很快就可以发现问题出在第一个唯一索引上,该索引是一个detached索引,每次在删除分区之后,该索引的平衡二叉树需要重新平衡,代价极大。

于是在该索引上增加一个tx_date字段,重建索引即可。

评论已关闭