MySQL主键

主键可以唯一标识表中的某一行(记录),合理地设置主键,可以帮助我们准确、快速找到所需要的数据记录。表定义了主键,就相当于给表加了一个主键索引。索引可以帮助提高数据查询的效率,就像书的目录一样。

阿里巴巴 Java 开发手册

【强制】 表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。 【强制】 主键索引名为pk_字段名;唯一索引名为uk_字段名;普通索引名则为idx_字段名。 【强制】 小数类型为 decimal,禁止使用 float 和 double。 【强制】 表必备三字段:id,create_time,update_time。其中 id 必为主键,类型为 bigint unsigned、单表自增、步长为 1。

业务字段做主键

尽量不要用业务字段做主键,因为无法预测项目在整个生命周期中,哪个业务字段会因为业务需求而有重复,或者重用之类的情况,此时需要变更主键,这往往是不能被接受的。

如果有唯一性的要求,可以使用唯一性索引。

分布式系统全局唯一 ID

  • 数据库自增生成分布式 ID
  • 雪花
  • Redis
  • ..........
Last Updated:
Contributors: 拔土豆的程序员