用唯一键做主键,避免多个唯一索引
唯一键和主键不是一个概念的 主键是唯一+非空 唯一键可以为空 可以用唯一键做主键的但是唯一必须非空
我感觉没必要,主键最好有业务意义,这样查询SQL能根据这条条件过滤数据并且不用回表,这样是最完美的
1 个赞
自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。
自增列是SQL中一个重要的功能,OceanBase 1.0实现了兼容mysql的自增列模块,
功能上,OceanBase自增列承诺三个原则,设计上也是按满足这三个原则来做
- 多分区全局唯一
- 语句内连续递增
- 生成的自增列值比用户显式插入的大
自增主键又很多好处的哦
MySQL是btree,OB直接是 lsm tree append模式,
主要在功能上兼容MySQL,oceanbase数据库设计规范同样要求表必须定义主键,如果使用自增ID作为主键,已经无法满足业务的拆分和合并需要,议使用业务属性的唯一字段作为主键