OceanBase 表设计怎么选主键、分区键才合理?

在 OceanBase 里建表,听说主键和分区键对性能影响特别大,但我现在只会跟着例子抄。想问几个实际问题:

  1. 普通业务表,推荐用自增 ID 还是 UUID 做主键?
  2. 小表、大表分别怎么选分区策略?
  3. 分区键选错了,后期好改吗?希望大佬用简单业务场景举例,不讲太理论的。
1 个赞

支持一下

1 个赞

学习一下

  1. 建议用 自增 ID ,自增 ID 有 cache,可能跳变。
  2. 分区策略根据业务场景来,有合适的分区字段最好,实在没有就按自增 ID 自动分区(4.3.5 版本新功能)也行。
  3. OB 4.2 版本已经支持 非分区表变分区表,分区表也可以后期改分区策略。不过是 OFFLINE DDL, 会锁表,需要业务停写。如果业务不能停,就建新表,用 OMS 做表同步,最后一刻业务停写,互换表名。