1. 自增ID
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID'
优点:
- 简单直观
- 自动生成
- 递增有序,对索引友好
缺点:
- 可能暴露业务信息
- 分布式系统下需要特殊处理
- 合并数据时可能冲突
2. UUID/GUID
`id` char(36) NOT NULL COMMENT '主键ID'
优点:
- 全局唯一
- 分布式友好
- 不暴露业务信息
缺点:
- 存储空间大
- 无序,影响索引效率
- 不便于人工阅读
3. 雪花算法(Snowflake)
`id` bigint NOT NULL COMMENT '主键ID'
优点:
- 全局唯一
- 包含时间戳
- 有序递增
- 分布式友好
缺点:
- 需要单独的ID生成服务
- 依赖机器时钟
4. 业务复合主键
PRIMARY KEY (`year`, `month`, `day`, `order_no`)
优点:
- 业务含义明确
- 天然分区
缺点:
- 可能变更
- 查询效率可能较低