优点:
- 自增,趋势自增,可作为聚集索引,提升查询效率
- 节省磁盘空间。500W数据,UUID占5.4G,自增ID占2.5G.
- 查询,写入效率高:查询略优。写入效率自增ID是UUID的四倍。
缺点:
- 导入旧数据时,可能会ID重复,导致导入失败。
- 分布式架构,多个Mysql实例可能会导致ID重复。
总结:
- 单实例,单节点,由于InnoDB的特性,自增ID效率大于**UUID.
- 20个节点一下小型分布式架构:为了实现快速部署,主键不重复,可以采用UUID
- 20到200个节点:可以采用自增ID+**步长的较快速方案。
- 200个以上节点的分布式架构:可以采用twitter的雪花算法全局自增ID