去掉自增主键的最佳方法

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:2.1.0
  • 【问题描述】:我现在遇到了热点问题,根据官方的推荐的处理方式来看,就是在把自增主键给去掉,然后是用SHARD_ROW_ID_BITS 来把数据打散。但是现在tidb又不支持直接drop primary key。请问有其他方法来解决这个问题吗?这是线上业务,又不能停业务,数据量大概在5亿左右。

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

可以考虑找到热点 region 后,手动 split region 来打散热点。

https://pingcap.com/docs-cn/stable/reference/sql/statements/split-region/#split-region-使用文档

也可以采用 tidb 3.0 以后的分区表。