如何修改AUTO_INCREMENT的表到AUTO_RANDOM

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】4.0.7

【问题描述】
有一张表,存量数据20亿,想把auto_increment的主键改成auto_random,如何不影响业务的情况下修改?
业务可暂停1~2小时。原来表中的auto_increment列完全无用,可以删掉。


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

这里将 auto_increment 调整为 auto_random 是为了解决热点问题还是其他需求,直接将表主键调整为auto_random 目前不支持?

为了解决热点问题,不能直接修改,pingcap的同学已经建议别的解决方案:热点问题可以通过其他方式尝试解决 比如 SHARD_ROW_ID_BITS PRE_SPLIT_REGIONS

对于热点问题,目前比较好的解决方法就是打开 alter-primary-key ,在建表语句上加上 SHARD_ROW_ID_BITSPRE_SPLIT_REGIONS

:+1:

:handshake: