关于主键生成规则改变时,切分region规则

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

  • 【TiDB 版本】:4.0.0
  • 【问题描述】:

假设项目一开始,我们对表T_A1,插入数据时,都是使用tidb数据库表的auto increase自增的。

但是后来系统代码迭代,需要T_A1表和有个对应的明细表T_A1_DETAIL同一事务下插入,导致要在应用系统层面先生成好主键,再插入。

可是应用生成的主键是一个8位数,与一开始的auto increase的数字相差比较大。那么我是不是应该先提前划分好范围[0~99999999),但是我觉得这样会变得每个region不平均。还是说,我应该项目一开始决定好主键生成规则,统一为8位数呢?

正在分析请稍等

你好,

从数据角度,自增值不影响 region 的大小和分布,如果出现大 range ,但是一直都是比较空的,region 会通过 region merge 进行 region 进行合并。无需担心。

https://pingcap.com/docs-cn/stable/reference/best-practices/massive-regions/#-region-merge

先看下这个文章
https://book.tidb.io/session1/chapter7/tidb-schema-design.html

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。